首页 > 代码库 > leetcode------Add Binary
leetcode------Add Binary
标题: | Add Binary |
通过率: | 25.1% |
难度: | 简单 |
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
本题主要就是模拟二进制去处理,跟上次做到的那个plus one有点类似就是进位操作,但是本题是多位相加,刚开始做的时候我是以长度最短的为界限,后来发现非常麻烦,应该以长度长的作为界限,然后超过的位数去补0就行了,然后还有一个地方就是关于进位操作不用一个标志位去处理,利用一个整数,具体如何操作看代码即可:
1 public class Solution { 2 public String addBinary(String a, String b) { 3 int lena=a.length(); 4 int lenb=b.length(); 5 int flag=0; 6 String result=""; 7 int tmp=0; 8 for(int i=0;i<Math.max(lena,lenb);i++){ 9 int p=0,q=0;10 if(i<lena)11 p=a.charAt(lena-1-i)-‘0‘;12 else 13 p=0;14 if(i<lenb)15 q=b.charAt(lenb-1-i)-‘0‘;16 else 17 q=0;18 tmp=p+q+flag;19 flag=tmp/2;20 tmp=tmp%2;21 //result+=tmp;22 result=String.valueOf(tmp)+result;23 }24 if(flag==0)return result;25 return "1"+result;26 }27 }
leetcode------Add Binary
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。