add binary
1 class Solution { 2 public: 3 string addBinary(string a, string b) { 4 // Start typing your C/C++ solution below 5 // DO NOT write int main() function 6 if( a == "" ) return b; 7 if( b == "" ) return a; 8 9 if( a.length() > b.length() ) 10 { 11 string s= b; 12 b = a; 13 a = s; 14 } 15 string s1( a.rbegin(),a.rend()); 16 string s2( b.rbegin(),b.rend() ); 17 18 int l1 = s1.length(); 19 20 for( int i=1; i<= s2.length() - l1 ; i++ ) 21 s1 += '0'; 22 23 int c = 0; 24 string s = ""; 25 for( int i=0 ;i<s2.length(); ++i ) 26 { 27 int m = s1[i] + s2[i] - '0' - '0'; 28 s += (m+c)%2 + '0'; 29 30 c = (m+c)/2; 31 } 32 if( c > 0 ) 33 s += '1'; 34 return string(s.rbegin(),s.rend()); 35 36 } 37 };
posted on 2013-07-04 13:20 jumping_grass 阅读(110) 评论(0) 收藏 举报
浙公网安备 33010602011771号