class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param A string字符串
* @param B string字符串
* @return string字符串
*/
string binaryAdd(string A, string B) {
// write code here
int lengthA = A.length();
int lengthB = B.length();
//反转字符串进行计算
reverse(A.begin(), A.end());
reverse(B.begin(), B.end());
string Sum;
int pri = 0;
int i;
for (i = 0; i < lengthA && i < lengthB; i++) {
Sum += ((A[i] + B[i] + pri -'0' -'0') % 2 + '0');
pri = (A[i] + B[i] + pri -'0' -'0') / 2;
}
while (i < lengthA) {
Sum += ((A[i] + pri -'0') % 2 + '0');
pri = (A[i] + pri -'0') / 2;
i++;
}
while (i < lengthB) {
Sum += ((B[i] + pri -'0') % 2 +'0');
pri = (B[i] + pri -'0') / 2;
i++;
}
if(pri > 0)
Sum += (pri +'0');
reverse(Sum.begin(), Sum.end());
return Sum;
}
};