leetcode 67--二进制加法

我这个方法是不是很简便?需要使用三元表达式,这样还是很简洁的~

leetcode 67--二进制加法_第1张图片
图片.png

题目参考:
https://leetcode.com/problems/add-binary/

class Solution {
    public String addBinary(String a, String b) {
        int carry=0;
        int m=a.length()-1,n=b.length()-1;
        String ans="";
        while(m>=0||n>=0){
            int p= m>=0? a.charAt(m--)-'0':0;
            int q= n>=0? b.charAt(n--)-'0':0;
            int sum=p+q+carry;
            carry=sum/2;
            Integer aaa=sum%2;
            ans=aaa.toString()+ans;
        }
        return (carry==1 ? "1"+ans:ans);
    }
}

你可能感兴趣的:(leetcode 67--二进制加法)