leetCode 67. Add Binary 字符串
67. Add Binary
Given two binary strings, return their sum (also a binary string).
For example,
a ="11"
b ="1"
Return"100"
.
思路:
1.将两个字符串按数组相加得到新数组。
2.将新数组转换成结果。
代码如下:
classSolution{public:stringaddBinary(stringa,stringb){intsizeA=a.size();intsizeB=b.size();intcarry=0;vector<int>result;stringresultStr;if(sizeA<sizeB)returnaddBinary(b,a);for(inti=0;i<sizeB;i++){intcur=(a[sizeA-i-1]-'0')+(b[sizeB-i-1]-'0')+carry;if(cur<2){result.push_back(cur);carry=0;}elseif(cur==2){result.push_back(0);carry=1;}elseif(cur==3){result.push_back(1);carry=1;}}for(intj=sizeB;j<sizeA;j++){intcur=(a[sizeA-j-1]-'0')+carry;if(cur<2){result.push_back((a[sizeA-j-1]-'0')+carry);carry=0;}elseif(cur==2){result.push_back(0);carry=1;}elseif(cur==3){result.push_back(1);carry=1;}}if(carry==2){result.push_back(0);result.push_back(1);}elseif(carry==1){result.push_back(1);}for(intk=0;k<result.size();k++){if(result[result.size()-1-k]==1){resultStr.append(1,'1');}else{resultStr.append(1,'0');}}returnresultStr;}};
2016-08-10 23:39:26
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。