二進位制求和

2021-09-25 02:52:33 字數 1018 閱讀 6936

給定兩個二進位制字串,返回他們的和(用二進位制表示)。

輸入為非空字串且只包含數字 1 和 0。

示例 1:

輸入: a = "11", b = "1"

輸出: "100"

示例 2:

輸入: a = "1010", b = "1011"

輸出: "10101"

最直觀的解法

public string addbinary

(string a, string b)

stringbuilder sb =

newstringbuilder()

;int jw =

0, index =0;

char

aarr = a.

length()

>b.

length()

?a.tochararray()

:b.tochararray()

, barr = a.

length()

>b.

length()

?b.tochararray()

:a.tochararray()

;int sum=

0,tmp=0;

while

(index < max)

tmp=jw+sum;

if(tmp >1)

else

index++;}

if(jw ==1)

return sb.

tostring()

;}

優化**實現

public string addbinary

(string a, string b)

sb.insert(0

, jw==1?

"1":"")

;return sb.

tostring()

;}

二進位制求和

給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 1 使用jdk進製轉化 1,第一時間想到使用jdk自帶方法,將給定的二進位制數轉化為十進位制 2,...

二進位制求和

給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。str儲存了所有a b的累加值。for int k str.length 1 k 0 k 在累加過程中會出現值為3的位子,則將本位子置1,然後進1 if str.charat k 3 第乙個位子若產生進製需要...

二進位制求和

三個版本 class solution if res 0 2 else return res 沒有考慮到會出現3的結果,不只是首位,中間也可以 class solution for int i res.length 1 i 0 i if res 0 2 else return res class s...