[leetcode] Add Binary
2013-08-12 20:06
274 查看
Given two binary strings, return their sum (also a binary string).
For example,
a =
b =
Return
class Solution {
public:
string addBinary(string a, string b) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int length1=a.size();
int length2=b.size();
if(length2<length1){//keep b is longer
string temp=a;
a=b;
b=temp;
int c=length1;
length1=length2;
length2=c;
}
a.insert(0,length2-length1,'0');
char buffer[]={'0','1'};
int jin,yu;
jin=0;yu=0;
for(int i=length2-1 ; i>=0 ; i--){
yu=((a[i]-'0')+(b[i]-'0')+jin)%2;
jin=((a[i]-'0')+(b[i]-'0')+jin)/2;
b[i]=buffer[yu];
}
if(jin)
b.insert(0,1,'1');
return b;
}
};
For example,
a =
"11"
b =
"1"
Return
"100".
class Solution {
public:
string addBinary(string a, string b) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int length1=a.size();
int length2=b.size();
if(length2<length1){//keep b is longer
string temp=a;
a=b;
b=temp;
int c=length1;
length1=length2;
length2=c;
}
a.insert(0,length2-length1,'0');
char buffer[]={'0','1'};
int jin,yu;
jin=0;yu=0;
for(int i=length2-1 ; i>=0 ; i--){
yu=((a[i]-'0')+(b[i]-'0')+jin)%2;
jin=((a[i]-'0')+(b[i]-'0')+jin)/2;
b[i]=buffer[yu];
}
if(jin)
b.insert(0,1,'1');
return b;
}
};
相关文章推荐
- LEETCODE-Add Binary
- [Leetcode] Add Binary (Java)
- [LeetCode]Add Binary
- leetcode_67 add binary
- leetcode 67. Add Binary
- [leetcode] 67. Add Binary 解题报告
- leetcode 67. Add Binary (高精度加法)
- Leetcode - Add Binary
- Leetcode_67_Add Binary
- leetcode-67-Add Binary
- [LeetCode]67 Add Binary
- LeetCode67 Add Binary
- [Leetcode]Add Binary
- LeetCode:Add Binary
- LeetCode Add Binary
- LeetCode Add Binary
- LeetCode_Add Binary
- 和大神们学习每天一题(leetcode)-Add Binary
- LeetCode 67 Add Binary(二进制相加)(*)
- [LeetCode] Add Binary