【Leetcode】之Add Binary
阿新 • • 發佈:2018-12-24
一.問題描述
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
二.我的解題思路
這道題也比較容易,直接按照規則計算即可。測試通過的程式如下:
class Solution { public: string addBinary(string a, string b) { string ans; string tmp; int len_a = a.length(); int len_b = b.length(); int len = len_a<len_b?len_a:len_b; int long_len = len_a>len_b?len_a:len_b; int i=1;int flag=0; if(a.length()==0) return b; if(b.length()==0) return a; while(i<=len){ int plus_a = a[len_a-i]-'0'; int plus_b = b[len_b-i]-'0'; int res = plus_a + plus_b + flag; if(res>1) flag=1; else flag=0; res = res % 2; char curr = '0'+res; ans=curr +ans; i++; } if(len_a>len_b) tmp=a; else tmp=b; long_len = tmp.length(); while(i<=tmp.length()){ int plus_a = tmp[long_len-i]-'0'; int res = plus_a + flag; if(res>1) flag=1; else flag=0; res = res % 2; char curr = '0'+res; ans=curr +ans; i++; } if(flag==1) ans='1'+ans; return ans; } };