标签:
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 len1 = a.size(), len2 = b.size(); string c; int up = 0; char a1, b1; while(len1 > 0 || len2 > 0){ if(len1 <= 0) a1 = '0'; else a1 = a[len1-1]; if(len2 <= 0) b1 = '0'; else b1 = b[len2-1]; int tmp = a1 - '0' + b1 - '0'+ up; up = 0; if(tmp == 2 || tmp == 3) up = 1; if(tmp %2 == 1) c = '1' + c; else c = '0' + c; len1--; len2--; } if(up == 1) c = '1' + c; return c; } };
标签:
原文地址:http://blog.csdn.net/sina012345/article/details/44203915