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; } };