首页 > 其他 > 详细

leetcode 67. 二进制求和

时间:2019-11-29 17:14:54      阅读:65      评论:0      收藏:0      [点我收藏+]

给定两个二进制字符串,返回他们的和(用二进制表示)。

输入为非空字符串且只包含数字 1 和 0。

示例 1:

输入: a = "11", b = "1"
输出: "100"

 1 class Solution {
 2     public String addBinary(String a, String b) {
 3         StringBuilder str = new StringBuilder(); 
 4         int maxlen = a.length()>b.length()?a.length():b.length();
 5         int carry = 0;
 6         for(int i=0;i<maxlen;i++){
 7             int num = 0;
 8             int ia=0;
 9             int ib=0;
10             if(i<a.length()){
11                 ia=Integer.parseInt(String.valueOf(a.charAt(a.length()-1-i)));
12             }
13             if(i<b.length()){
14                 ib=Integer.parseInt(String.valueOf(b.charAt(b.length()-1-i)));
15             }
16             num=ia^ib^carry;
17             if(ia+ib+carry>=2)carry=1;
18             else carry=0;
19             str.insert(0,num+"".toString());
20         }
21         if(carry==1){
22             str.insert(0,"1".toString());
23         }
24         return str.toString();
25     }
26 }

 

leetcode 67. 二进制求和

原文:https://www.cnblogs.com/gongzixiaobaibcy/p/11958803.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!