您的位置:首页 > 其它

Add Binary

2015-12-07 15:17 239 查看
Given two binary strings, return their sum (also a binary string).
For example,

a =
"11"


b =
"1"


Return
"100"
.

class Solution {
public:
string addBinary(string a, string b) {

if(a.length()<b.length()){
string zeros(b.length()-a.length(),'0');
a = zeros + a;
}else{
string zeros(a.length()-b.length(),'0');
b = zeros + b;
}

string result;
int next = 0;

for(int i = a.length()-1;i>=0;i--){
int sum = (a[i] - '0') + (b[i] - '0') + next;

switch(sum){
case 0:
result = '0' + result;
next = 0;
break;
case 1:
result = '1' + result;
next = 0;
break;
case 2:
result = '0' + result;
next = 1;
break;
default:
result = '1' + result;
next = 1;
}
}

if(next != 0){
result = '1' + result;
}

return result;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: