[LeetCode] Add Binary

Add Binary

Given two binary strings, return their sum (also a binary string).

For example, a = “11” b = “1”
Return “100”.

题目的意思也是比较简单,两个二进制数组相加,如果两个数组都已经加完还有进位的话,则要在最前面加’1’

class Solution {
public:
    string addBinary(string a, string b) {
        int m = a.size()-1;
        int n = b.size()-1;
        if(n>m) return addBinary(b,a);
        int carry = 0;
        int dig;
        while(m>=0){
            dig = a[m]-'0'+carry;
            if(n>=0){
                dig += (b[n]-'0');
                --n;
            }
            a[m]=dig%2+'0';
            carry=dig/2;
            --m;
        }
        if(carry)
            a.insert(0,1,'1');      //string.insert(pos,n.c);string.insert(pos,string);
        return a;

    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值