給定兩個二進位制字串,返回他們的和(用二進位制表示)。
輸入為非空字串且只包含數字 1 和 0。
示例 1:
輸入: a = 「11」, b = 「1」
輸出: 「100」
此處二進位制數相加,儲存在string中,
如何將string和int之間互相轉換?
首先,對應位相加時,會涉及進製的可能;
其次,兩個輸入string的長度也可能會不同,這時我們需要新建乙個string,其長度為兩條源string中的較大的那個長度值,且將較短的那個輸入string通過在開頭加字元『0』來補至較大的那個長度。
最後,逐個從兩個string的末尾開始取字元,然後轉為數字,相加如果大於等於2,則標記進製標誌carry,並且給新string加入乙個字元『0』。
注意:因為ascii字元中的數字(『123456』)想轉換為純數字(1,2,3,4…)就要減去48(ascii單位),而『0』的ascii單位正好等於48。
class
solution
}else
if(as < bs)
}for
(int i = mn -
1; i >=0;
--i)
else
if(tmp ==0)
else
if(tmp ==1)
else
if(tmp ==2)
else
if(tmp ==3)
}if(carry)
return res;}}
;
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...