給定兩個二進位制字串,返回他們的和(用二進位制表示)。
輸入為非空字串且只包含數字 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...