leetcode 67 二進位制求和

2021-10-07 10:38:49 字數 1376 閱讀 8272

題目鏈結

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

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

class

solution

if(b ==

"0")

reverse

(a.begin()

, a.

end())

;reverse

(b.begin()

, b.

end())

; string res;

bool hascarry =

false

;int alen = a.

size()

, blen = b.

size()

;int len =

max(alen, blen)

;for

(int i =

0; i < len;

++i)

if(i < blen)

if(hascarry)

res.

push_back((

'0'+ sum %2)

);hascarry = sum /2!=

0;}if

(hascarry)

reverse

(res.

begin()

, res.

end())

;return res;}}

;

執行結果:通過

執行用時: 0 ms, 在所有 c++ 提交中擊敗了100.00%的使用者

記憶體消耗:6.7 mb, 在所有 c++ 提交中擊敗了100.00%的使用者

本道題是一道簡單題,為方便計算,先將字串a和b進行翻轉,然後開始累加,最後判斷有無標誌位。

class

solution

int len = b.

size()

- a.

size()

;for

(int i =

0; i < len; i++

)int base =

(int

)'0'

;int carry =0;

for(

int i = a.

size()

-1; i >-1

; i--)if

(carry >0)

return a;}}

;

方法類似。

Leetcode 67 二進位制求和

給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 class solution if blen 0 carry sum 2 錯誤的 if sum 2...

leetcode 67 二進位制求和

給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字1和0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 新鮮現做 幸福coding class solution object def addbinary se...

leetcode 67 二進位制求和

給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。示例1 輸入 a 11 b 1 輸出 100 示例2 輸入 a 1010 b 1011 輸出 10101 解題思路 老老實實的採用了較為暴力的列舉法來作答,所以 較為複雜,且可讀性較差 class solut...