Letcode 67 二進位制求和

2021-09-02 19:57:24 字數 734 閱讀 1066

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

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

示例 1:

輸入: a = 「11」, b = 「1」

輸出: 「100」

示例 2:

輸入: a = 「1010」, b = 「1011」

輸出: 「10101」

從後往前遍歷兩個給出的二進位制字串,對應位做二進位制加法,然後依次將相加的結果新增到result中即可。

但是這個裡面有個問題,就是兩個二進位制串的長度不一定相同,如果要對長度進行判斷和處理的話,**量顯然太多。所以可以採取這樣一種方法,如果說其中乙個二進位制字串已經遍歷完,我們再往下遍歷時,就把這個二進位制字串的位看做0(其實已經沒有了,但是看做0不會影響),相當於本來是11 + 1,現在變成了11 + 01,結果是不受影響的,但是寫迴圈的時候則節省了**量。

特別要注意的是:c# 在處理 字元值是這樣的情況 『1』=49 是轉成49進行計算

carry 進製的值,0表示不進製(進製0),1表示進製1

using system;

using system.text;

namespace letcode_67.addbinary

static string addbinary(string a, string b)

if (carry == 1)

return result;

}}

67 二進位制求和

一 題意 給定兩個二進位制字串,返回他們的和 用二進位制表示 輸入為非空字串且只包含數字 1 和 0。示例 1 輸入 a 11 b 1 輸出 100 示例 2 輸入 a 1010 b 1011 輸出 10101 二 分析和解答 public string addbinary string a,str...

67 二進位制求和

雖然自己也寫對了,但是 非常不簡潔,還是答案的 簡潔,應該學習下 答案 class solution index 0 找到第乙個不為0的位置 while res index 0 index len index 如果結果為0,就直接返回0 if index len 1 return 0 return ...

67 二進位制求和

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