Add Binary--LeetCode

来源:互联网 发布:小提琴 曲 知乎 编辑:程序博客网 时间:2024/06/08 00:25

题目:

Given two binary strings, return their sum (also a binary string).

For example,
a = "11"
b = "1"
Return "100".

思路:字符串的叠加,注意进位

string AddBinary(string& first,string& second){string result;int carray =0;int i=first.length()-1;int j = second.length()-1;int tmp;for(;i>=0&&j>=0;i--,j--){if(first[i] >='2' || second[j]>='2')return result;tmp = carray+(first[i]-'0')+(second[j]-'0');if(tmp >=2){carray =1;tmp =0;}elsecarray =0;result += char(tmp+'0');}for(;i>=0;i--){if(carray ==0)result += first[i];else{tmp = carray+(first[i]-'0');if(tmp >=2){carray =1;tmp =0;}elsecarray =0;result += char(tmp+'0');}}for(;j>=0;j--){if(carray ==0)result += second[j];else{tmp = carray+(second[j]-'0');if(tmp >=2){carray =1;tmp =0;}elsecarray =0;result += char(tmp+'0');}}reverse(result.begin(),result.end());return result;}


0 0
原创粉丝点击