二進位制求和(簡單)
2023年4月28日
給你兩個二進位制字串,返回它們的和(用二進位制表示)。
輸入為 非空 字串且只包含數字 1 和 0。
示例 1:
輸入: a = 「11」, b = 「1」
輸出: 「100」
示例 2:
輸入: a = 「1010」, b = 「1011」
輸出: 「10101」
每個字串僅由字元 『0』 或 『1』 組成。
1 <= a.length, b.length <= 10^4
字串如果不是 「0」 ,就都不含前導零。
**實現
利用integer的方法進行進製的轉換,自己想當然的做法,實際過不了,資料過大的時候跑不了
class
solution
}
大佬的思路:將兩個字串較短的用 0 補齊,使得兩個字串長度一致,然後從末尾進行遍歷計算,得到最終結果。
stringbuilder ans =
newstringbuilder()
;int ca =0;
// 是否進一位
for(
int i = a.
length()
-1, j = b.
length()
-1; i >=
0|| j >=
0; i--
, j--
) ans.
(ca ==
1? ca :"")
;// 判斷最後一次計算是否有進製 有則在最前面加上1 否則原樣輸出
return ans.
reverse()
.tostring()
;
二進位制求和 LeetCode
從後向前遍歷每乙個字串的每乙個字元,直到走完所有位,比如兩個字串分別是a 101 和 b 11 則第一次取a的最後一位1和b的最後一位1,初始沒有進製,則進製為0,相加為2,變為0,進一位,總結起來就是 每個字串各取一位相加,然後再加上進製 如果有為1,沒有為0 得到的值設為x,x 2即為新的進製,...
leetCode 二進位制求和
題目描述 給你兩個二進位制字串,返回它們的和 用二進位制表示 輸入為空字串且只包含數字1和0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 每個字串僅由字元 0 或 1 組成。1 a.length,b.length 10 4 字串如果不...
Leetcode 二進位制求和 簡單
給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 比較直觀,先把兩個字串補到一樣長,然後模擬進製即可.string方法 s.length 獲取長度 ...