leetcode-67-add binary

Problem Description:

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

题目大意:

给定两个二进制数,求他们的和。

Solutions:

简单的字符串操作,注意进位和最后加完了还有进位的情况。

Code in C++:

class Solution {
public:
    string addBinary(string a, string b) {
        string res="";
        int i = a.length() - 1;
        int j = b.length() - 1;
        int carry = 0 ;
        if(i>j)
        {
            for(int x =0;x<i-j; x++)
            b='0'+b;
        }else{
            for(int x =0 ;x<j-i;x++)
            a='0'+a;
        }
        int len = a.length()-1;
        int cur;
        while(len>=0){
            cur = (a[len]-'0')+(b[len]-'0')+carry;
            carry=cur/2;
            cur%=2;
            res= (char)(cur+'0') + res;
            len--;
        }
       if(carry==1) res= to_string(1)+res;
        return res;

    }
};