Add Binary

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) {
	int la = a.length();
	int lb = b.length();
	int shorter = la > lb ? (la - lb) : (lb - la);
	string s(shorter,'0');
	if(la > lb) b = s + b;
	else a = s + a;
	int carry = 0;
	for(int i = a.length() - 1; i >= 0; --i)
	{
		int sum = a[i] - '0' + b[i] - '0' + carry;
		carry = sum >> 1;
		a[i] = sum % 2 + '0';
	}
	if(carry)
		a = "1" + a;
	return a;
	}
};


你可能感兴趣的:(LeetCode,Algorithm,C++,字符串加法)