class Solution { public: string addBinary(string a, string b) { string s; int lenA=a.size(); int lenB=b.size(); if(lenA==0) return b; if(lenB==0) return a; if(lenA>lenB) { b.insert(b.begin(),lenA-lenB,'0'); } else { a.insert(a.begin(),lenB-lenA,'0'); } int flag=0; for(int i=a.size()-1;i>=0;--i) { int temp=a[i]-'0'+b[i]-'0'+flag; s.insert(s.begin(),temp%2+'0'); flag=temp/2; } if(flag==1) s.insert(s.begin(),'1'); return s; } };