Leetcode初学——二进制求和
程序员文章站
2024-03-14 22:00:35
...
题目:
分析:
这道题和十进制的求和没什么太大区别
难点都在于进位上
1+1=10
但我们不仅要把问题解决,还要把代码写的好看
代码:
class Solution {
public String addBinary(String a, String b) {
StringBuilder res=new StringBuilder();
int m=a.length()-1;
int n=b.length()-1;
int car=0;
while(m>=0 || n>=0 || car!=0){
int tempA= m>=0? a.charAt(m--)-'0':0;
int tempB= n>=0? b.charAt(n--)-'0':0;
int temp=tempA+tempB+car;
car=temp/2;
temp=temp%2;
res.append(temp);
}
//将res翻转再toString
return res.reverse().toString();
}
}
结果:
上一篇: Leetcode初学——加一
下一篇: 初识hibernate