[leetcode] Add Binary
2015-02-04 11:31
190 查看
Add Binary
Total Accepted: 31178 TotalSubmissions: 124110My Submissions
Question
Solution
Given two binary strings, return their sum (also a binary string).
For example,
a =
"11"
b =
"1"
Return
"100".
package com.wyt.leetcodeOJ; public class AddBinary { public static void main(String[] args) { System.out.println(addBinary("100", "110010")); } public static String addBinary(String a, String b) { StringBuffer buffer = new StringBuffer(); if(a.length() < b.length()) { int k = 0; for (int i = 0; i < a.length(); i++) { int tmp = a.charAt(a.length()-1-i) + b.charAt(b.length()-1-i) - 96 + k; if (tmp >= 2) { k = tmp/2; } else { k = 0; } buffer.append(tmp%2); } for (int i = 0; i < b.length()-a.length(); i++) { int tmp = k + b.charAt(b.length()-a.length()-1-i) - 48; if (tmp >= 2) { k = tmp/2; } else { k = 0; } buffer.append(tmp%2); } if(k != 0) { buffer.append(k); } return buffer.reverse().toString(); } else { int k = 0; for (int i = 0; i < b.length(); i++) { int tmp = (a.charAt(a.length()-1-i)+b.charAt(b.length()-1-i)-96) + k; if (tmp >= 2) { k = tmp/2; } else { k = 0; } buffer.append(tmp%2); } for (int i = 0; i < a.length()-b.length() ; i++) { int tmp = k + a.charAt(a.length()-b.length()-1-i) - 48; if(tmp >= 2) { k = tmp/2; } else { k = 0; } buffer.append(tmp%2); } if(k !=0) { buffer.append(k); } return buffer.reverse().toString(); } } }
相关文章推荐
- LeetCode 67. Add Binary
- [LeetCode]Add Binary
- LeetCode(56)-Add Binary
- 【leetcode】【67】Add Binary
- leetcode 067 —— Add Binary
- LeetCode : Add Binary
- LeetCode——Add Binary
- 【LeetCode-面试算法经典-Java实现】【067-Add Binary(二进制加法)】
- [LeetCode] Add Binary
- leetcode [Add Binary]
- Leetcode-67: Add Binary
- [LeetCode] Add Binary
- 小白笔记---------------------------------leetcode(67. Add Binary )
- leetcode--Add binary
- [Leetcode] 67. Add Binary 解题报告
- LeetCode Add Binary 结题报告
- LeetCode: Add Binary
- 67.[LeetCode]Add Binary
- LeetCode_Add Binary
- 【Leetcode】Add Binary