[LeetCode] Add Binary

来源:互联网 发布:医疗软件开发 名单 编辑:程序博客网 时间:2024/06/12 22:26

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;    }};
0 0