Problem Description:
Given two binary strings, return their sum (also a binary string).
题目大意:
给定两个二进制数,求他们的和。
Solutions:
简单的字符串操作,注意进位和最后加完了还有进位的情况。
Code in C++:
class Solution {
public:
string addBinary(string a, string b) {
string res="";
int i = a.length() - 1;
int j = b.length() - 1;
int carry = 0 ;
if(i>j)
{
for(int x =0;x<i-j; x++)
b='0'+b;
}else{
for(int x =0 ;x<j-i;x++)
a='0'+a;
}
int len = a.length()-1;
int cur;
while(len>=0){
cur = (a[len]-'0')+(b[len]-'0')+carry;
carry=cur/2;
cur%=2;
res= (char)(cur+'0') + res;
len--;
}
if(carry==1) res= to_string(1)+res;
return res;
}
};
近期评论