Given binary strings, return their sum (also a binary string).
For example,
A ="11"
b ="1"
Return "100" .
Simple binary addition, except that the parameter passed in is a string. For convenience, string reverse first, the code is as follows:
1 classSolution {2 Public:3 stringAddbinary (stringAstringb) {4 Reverse (A.begin (), A.end ());5 Reverse (B.begin (), B.end ());6 intLen1 =a.length ();7 intLen2 =b.length ();8 stringresult;9 intFlag, Val;TenFlag = val =0; One inti; A for(i =0; I < len1 && I < len2; ++i) { -val = (A[i]-'0') + (B[i]-'0') +Flag; -Result.append (1, Val%2+'0'); theFlag = val/2; - } - while(I <len1) { -val = a[i]-'0'+Flag; +Result.append (1, Val%2+'0'); -Flag = val/2; +++i; A } at while(I <len2) { -val = b[i]-'0'+Flag; -Result.append (1, Val%2+'0'); -Flag = val/2; -++i; - } incout <<"Flag"<< Flag <<Endl; - if(Flag! =0) toResult.append (1,'1'); + Reverse (Result.begin (), Result.end ()); - returnresult; the } *};
Leetcode Oj:add Binary (binary addition)