LeetCode刷题笔录Add Binary
2014-08-30 00:51
274 查看
Given two binary strings, return their sum (also a binary string).
For example,
a =
b =
Return
具体一位一位地加就行了,考虑进位的问题。还有最后记得把生成的string反过来再返回,因为我们是从最低位开始加的。
For example,
a =
"11"
b =
"1"
Return
"100".
具体一位一位地加就行了,考虑进位的问题。还有最后记得把生成的string反过来再返回,因为我们是从最低位开始加的。
public class Solution { public String addBinary(String a, String b) { if(a == null || a.length() == 0) return b; if(b == null || b.length() == 0) return a; StringBuilder res = new StringBuilder(); int i = a.length() - 1; int j = b.length() - 1; int digit; int carry = 0; while(i >= 0 && j >= 0){ digit = (int)(a.charAt(i) - '0' + b.charAt(j) - '0' + carry); carry = digit / 2; digit %= 2; res.append(digit); i--; j--; } while(i >= 0){ digit = (int)(a.charAt(i) - '0' + carry); carry = digit / 2; digit %= 2; res.append(digit); i--; } while(j >= 0){ digit = (int)(b.charAt(j) - '0' + carry); carry = digit / 2; digit %= 2; res.append(digit); j--; } //don't forget to add the final carry(if exists) if(carry > 0){ res.append(carry); } return res.reverse().toString(); } }
相关文章推荐
- LeetCode刷题笔录Add Binary
- Add Binary - LeetCode
- LeetCode刷题笔录3Sum
- leetcode笔记--Add Binary
- LeetCode --- Add Binary
- [LeetCode] Add Binary
- leetcode--Add Binary
- LeetCode Add Binary
- leetcode 67. Add Binary (高精度加法)
- Leetcode - Add Binary
- [leetcode]45 Add Binary
- leetcode || 67、Add Binary
- LeetCode-Add Binary
- leetcode: Add Binary
- [Leetcode] 67. Add Binary 解题报告
- Add Binary(LeetCode)
- [LeetCode] Add Two Numbers、Divide Two Integers、Multiply Strings、Add Binary、Plus One
- *(leetcode_string) Add Binary
- LeetCode刷题笔录Gray Code
- LeetCode Add Binary