《leetCode-php》二进制字符串相加

本文介绍了一种使用PHP实现的二进制数相加的方法。通过遍历两个二进制字符串并处理进位,最终返回相加后的二进制字符串结果。示例中给出了具体的代码实现和运行示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

给出两个用字符串表示的二进制数,返回他们的和(也用字符串表示) 

例如: 

a ="11"
b ="1"
返回"100".

<?php
function addBinary($a, $b) {
    $i = strlen($a) - 1;
    $j = strlen($b) - 1;
    $str = '';
    $flag = 0;
    while ($i >= 0 || $j >= 0) {
        if ($i >= 0 && $j >= 0) {
            $add = $a[$i] + $b[$j] + $flag;
        } else {
            if ($i >= 0) {
                $add = $a[$i] + $flag;
            } else {
                $add = $b[$j] + $flag;
            }
        }
        if ($add == 2) {
            $flag = 1;
            $add = 0;
        } else {
            $flag = 0;
        }
        $str = $add . $str;
        $i --;
        $j --;
    }
    if ($flag == 1) {
        $str = 1 . $str;
    }
    return $str;
}
$a = '011';
$b = '1';
$str = addBinary($a, $b);
print $str;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值