您的位置:首页 > 其它

Add Binary

2015-06-17 12:02 363 查看
Description:

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

For example,
a =
"11"

b =
"1"

Return
"100"
.

Code:

string addBinary(string a, string b) {
//4ms
const char * shortStr = (a.size()<=b.size())?a.c_str():b.c_str();
const char * longStr = (a.size()>b.size())?a.c_str():b.c_str();
int lenShort = strlen(shortStr);
int lenLong = strlen(longStr);

string s="";
int temp;
int flag = 0;
for (int i = 0; i < lenShort; ++i)
{
temp = shortStr[lenShort-1-i]-'0'+longStr[lenLong-1-i]-'0'+ flag;
flag = temp/2;
s.insert(0,1,'0'+temp%2);
}

for (int i = lenLong-1-lenShort; i >=0; --i)
{
temp = longStr[i]-'0'+flag;
flag = temp/2;
s.insert(0,1,'0'+temp%2);
}

if (flag == 1)
s.insert(0,1,'1');
return s;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: