标签:leetcode
链接:https://leetcode.com/problems/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 result="";
int flag=0;
int num;
int i=0;
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());
for(;i<a.length()&&i<b.length();i++)
{
num=a[i]-‘0‘+b[i]-‘0‘+flag;
flag=num/2;
num%=2;
result+=num+‘0‘;
}
for(;i<a.length();i++)
{
num=a[i]-‘0‘+flag;
flag=num/2;
num%=2;
result+=num+‘0‘;
}
for(;i<b.length();i++)
{
num=b[i]-‘0‘+flag;
flag=num/2;
num%=2;
result+=num+‘0‘;
}
if(flag==1)
result+=‘1‘;
reverse(result.begin(),result.end());
return result;
}
};
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:leetcode
原文地址:http://blog.csdn.net/efergrehbtrj/article/details/46735037