题目描述:

解题思路:

  此题的思路简单,下面的代码用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 }

程序结果:

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!