【LeetCode67】 Add Binary
题目描述:
解题思路:
此题的思路简单,下面的代码用StringBuilder更加简单,注意最后的结果要反转过来。【LeetCode415】Add Strings的解法和本题一模一样。
java代码:
1 public class LeetCode67 { 2 public static void main(String[] args) { 3 String a="11",b="1"; 4 System.out.println(a+"和"+b+"相加的结果是:"+new Solution().addBinary(a, b)); 5 } 6 } 7 class Solution { 8 public String addBinary(String a, String b) { 9 StringBuilder sb=new StringBuilder(); 10 int i=a.length()-1,j=b.length()-1; 11 int carry=0; 12 while(i>=0||j>=0){ 13 int sum=carry; 14 if(i>=0) sum+=a.charAt(i--)-'0'; 15 if(j>=0) sum+=b.charAt(j--)-'0'; 16 17 sb.append(sum%2); 18 carry=sum/2; 19 } 20 if(carry!=0) sb.append(carry); 21 return sb.reverse().toString(); 22 } 23 }
程序结果: