欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Leetcode初学——二进制求和

程序员文章站 2024-03-14 22:00:35
...

题目:

Leetcode初学——二进制求和

分析:

这道题和十进制的求和没什么太大区别

难点都在于进位上

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初学——二进制求和

相关标签: Leetcode学习