2)思路
3)**
要求:給你兩個二進位制字串,返回它們的和(用二進位制表示)。
輸入為 非空 字串且只包含數字 1 和 0。
樣例:示例 1:
輸入: a = 「11」, b = 「1」
輸出: 「100」
示例 2:
輸入: a = 「1010」, b = 「1011」
輸出: 「10101」
二進位制求和,滿二進一
首先讓兩個字串等長,若不等長,在短的字串前補零,否則之後的操作會超出索引。
然後從後到前遍歷所有的位數,同位相加,這裡有乙個點,用的是字元相加,利用 ascii 碼,字元在內部都用數字表示,我們不需要知道具體數值,但可知 『0』-『0』 = 0, 『0』+1=『1』,以此類推 。字元的加減,大小比較,實際上都是內部數字的加減,大小比較
判斷相加後的字元,若大於等於字元 『2』『2』,下一位需要進一
第 00 位數的相加在這裡是單獨處理的,因為它可能涉及到字元的插入(即是否需要在最前面加一位數 『1』『1』
class
solution
while
(al > bl)
for(
int j = a.
size()
-1; j >0;
-- j)
//從後到前遍歷所有的位數,同位相加
} a[0]
= a[0]
-'0'
+ b[0]
;//將ab的第0位相加
if(a[0]
>=
'2')
//若大於等於2,需要進一
return a;}}
;
LeetCode刷題筆記67
題目 二進位制求和。給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 我的答案 思路 由於最終長度不確定,且需要一位一位的計算更改,所以使用了str...
LeetCode刷題之路 67 二進位制求和
給你兩個二進位制字串,返回它們的和 用二進位制表示 輸入為 非空 字串且只包含數字 1 和 0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 每個字串僅由字元 0 或 1 組成。1 a.length,b.length 10 4 字串如果...
LeetCode刷題指南 貪心演算法
45.跳躍遊戲 ii class solution maxl nextmax return 0 134.加油站 第一種解法 比較容易理解,但是效率比較低 class solution return rest 0 1 start 621.任務排程器 給定乙個用字元陣列表示的 cpu 需要執行的任務列表...