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