LeetCode 67バイナリ和(ジャワ)

67.バイナリ合計

2つのバイナリ文字列を考えると、その(バイナリで表される)に戻ります。
そして、非空の入力文字列は、数字0と1のみが含まれています。

実施例1:
入力:= "11"、B = "1"
出力: "100"

出典:滞在ボタン(LeetCode)
//leetcode-cn.com/problems/add-binary:リンク:httpsの
すべてのネットワークからの控除が著作権を保有。商業転載は、ソースを明記してください許可公式、非商用の転載をご連絡ください。

少ないパー0に短い長さの2つの文字列を、最終的なキャリーあれば下位計算から、連続して、新しい文字列を記入し、その後、1で全体の出力を終わる:考えます文字列を逆にすることもできます。

class Solution {
    public String addBinary(String a, String b) {
        StringBuilder res=new StringBuilder();
        int carray=0;
        for(int i=a.length()-1,j=b.length()-1;i>=0||j>=0;i--,j--)
        {
            int sum=carray;
            sum+=i>=0?a.charAt(i)-'0':0;
            sum+=j>=0?b.charAt(j)-'0':0;
            res.append(sum%2);
            carray=sum/2;
        }
        res.append(carray>0?1:"");
        return res.reverse().toString();
    }
}
公開された88元の記事 ウォンの賞賛0 ビュー2150

おすすめ

転載: blog.csdn.net/nuts_and_bolts/article/details/105104247