首页 > 代码库 > Add Binary字符数字相加,字符串合成

Add Binary字符数字相加,字符串合成

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

For example,
a = "11"
b = "1"
Return "100".

 

Hide Tags
 Math String
 
class Solution {public:    string addBinary(string a, string b) {        string longer=a.length()>b.length() ? a:b;        string shorter=a.length()>b.length() ? b:a;        int add=0;        int j=longer.length()-1;        for(int i=shorter.length()-1;i>=0;--i,--j){            if(shorter[i]-0+longer[j]-0+add>1){                longer[j]=0+(shorter[i]-0+longer[j]-0+add)%2;                add=1;            }else{                longer[j]=0+(shorter[i]-0+longer[j]-0+add)%2;                add=0;            }        }        while(j>=0){            if(longer[j]-0+add>1){                longer[j]=0;                add=1;            }else{                longer[j]=longer[j]+add;                add=0;            }            --j;        }        if(add)            longer.insert(0,1,1);        return longer;    }};

 

Add Binary字符数字相加,字符串合成