leetcode Add Binary 2.16 难度系数2
2014-01-27 12:44
393 查看
Question:
Given two binary strings, return their sum (also a binary string).
For example,
a =
b =
Return
Given two binary strings, return their sum (also a binary string).
For example,
a =
"11"
b =
"1"
Return
"100".
public class Solution { public String addBinary(String a, String b) { StringBuffer sb = new StringBuffer(); String s1 = sb.append(a).reverse().toString(); sb.delete(0, sb.length()); String s2 = sb.append(b).reverse().toString(); sb.delete(0, sb.length()); char[] c1 = s1.toCharArray(); char[] c2 = s2.toCharArray(); int c1number = 0; int c2number = 0; int carry = 0; int n = Math.max(c1.length, c2.length); for (int i = 0; i < n; i++) { if (i < c1.length) { c1number = c1[i] - '0'; } else { c1number = 0; } if (i < c2.length) { c2number = c2[i] - '0'; } else { c2number = 0; } int number = c1number + c2number + carry; if (number > 1) { sb.append(number - 2); carry = 1; } else { sb.append(number); carry = 0; } } if (carry == 1) { sb.append("1"); } return sb.reverse().toString(); } }
相关文章推荐
- leetcode 3Sum Closest 难度系数3 3.7
- leetcode JAVA Set Matrix Zeroes 难度系数3 3.24
- leetcode JAVA Word Ladder 3.44 难度系数3
- leetcode Symmetric Tree 1.8 难度系数1
- leetcode Valid Sudoku 2.12 难度系数2
- leetcode 4Sum 难度系数3 3.9
- leetcode JAVA Search a 2D Matrix 难度系数3 3.25
- leetcode JAVA Palindrome Partitioning 3.45 难度系数3
- leetcode JAVA Unique Binary Search Trees II 4.28 难度系数4
- leetcode Generate Parentheses 难度系数3 3.10
- leetcode JAVA Combinations 难度系数3 3.26
- leetcode JAVA Partition List 难度系数3 3.30
- leetcode Merge k Sorted Lists 难度系数3 3.11
- leetcode JAVA Subsets 难度系数3 3.27
- leetcode JAVA Reverse Words in a String 难度系数2-3?最新题151
- leetcode Balanced Binary Tree 1.10 难度系数1
- leetcode JAVA Substring with Concatenation of All Words 难度系数3 3.12
- leetcode JAVA Word Search 难度系数3 3.28
- leetcode JAVA Decode Ways 难度系数3 3.31
- leetcode Remove Duplicates from Sorted Array II 2.18 难度系数2