LeetCode67 二進位制求和

2021-10-03 01:30:07 字數 799 閱讀 4354

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

輸入為非空字串且只包含數字 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...