給你兩個二進位制字串,返回它們的和(用二進位制表示)輸入為 非空 字串且只包含數字 1 和 0。
示例 1:
輸入: a = 「11」, b = 「1」
輸出: 「100」
示例 2:
輸入: a = 「1010」, b = 「1011」
輸出: 「10101」
位數相加,如果位數相加結果等於2,位數變0,進1位,小於1位數正常相加**如下(示例):在前一位相加仍等於2,位數變0,向前遞增1
public string addbinary
(string a, string b)
int i2 =0;
if(ilength()
)// 位數相加
int i3 = i1 + i2;
if( i3==0)
else}if
( i3==1)
else}if
( i3==2)
else}}
// 如果num仍然為1 需拼接到前一位
if(num==1)
// 翻轉字元
return result.
reverse()
.tostring()
;}
朋友更優化思路,在做演算法使用演算法邏輯更加使用簡潔
public string addbinary
(string a, string b)
//進製有值,存入答案字串中
if(carry >0)
//最終將答案串反轉
ans.
reverse()
;return ans.
tostring()
;}
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...