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();
}
}