Add Binary
2014-05-03 00:04
351 查看
Given two binary strings, return their sum (also a binary string).
For example,
a =
b =
Return
思路:一个二进制字符串相加;首先从字符串的末尾开始,先二进制字符转化为数字,然后再相加;然后将这意味相加的结果转化为字符与字符串result相加(字符串的相加),该位相加的结果向右移动1位开始下一次循环。最后再判断sum大于0的话,在result前添加1。
For example,
a =
"11"
b =
"1"
Return
"100".
思路:一个二进制字符串相加;首先从字符串的末尾开始,先二进制字符转化为数字,然后再相加;然后将这意味相加的结果转化为字符与字符串result相加(字符串的相加),该位相加的结果向右移动1位开始下一次循环。最后再判断sum大于0的话,在result前添加1。
class Solution { public: string addBinary(string a, string b) { int a_len=a.length(); int b_len=b.length(); if(a_len==0) return b; if(b_len==0) return a; string result=""; int max=(a_len>b_len?a_len:b_len); int j=a_len-1; int k=b_len-1; int sum=0; for(int i=0;i<max;i++,j--,k--) { if(j>=0) { sum+=a[j]-'0'; } if(k>=0) sum+=b[k]-'0'; result=(char)((sum&1)+'0')+result; sum=sum>>1; } if(sum>0) result='1'+result; return result; } };
相关文章推荐
- Add Binary
- LeetCode: Add Binary
- [LeetCode] Add Two Numbers、Divide Two Integers、Multiply Strings、Add Binary、Plus One
- Add Binary
- [LeetCode]Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- LeetCode-Add Binary
- LeetCode_Add Binary
- Add Binary
- LeetCode Add Binary
- Add Binary
- Leetcode - Add Binary -Jan 30, 2015
- leetcode Add Binary
- Add Binary 二进制加法
- 67. Add Binary
- 【Add binary】cpp
- LeetCode --- Add Binary