leetcode第67題 二進位制求和

2021-10-02 02:12:53 字數 1288 閱讀 2483

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

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

示例 1:

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

輸出: 「100」

示例 2:

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

輸出: 「10101」

本題實現的就是乙個經典的二進位制加法器

源**:

package pid67;

public

class

solution

else

if(a.

charat

(p)==

'0')

p--;}

else

}int

addend2 =

newint

[length]

;int q = lengthb-1;

for(

int i=length-

1;i>=

0;i--

)else

if(b.

charat

(q)==

'0')

q--;}

else

}int

result =

newint

[length];/*

* 兩二進位制數對齊相加

*/int carry =0;

//記錄低位向高位的進製

int curr;

for(

int i=length-

1;i>=

0;i--

)else

if(curr ==2)

else

}//將result陣列轉成字串

string res =

newstring()

;if(result[0]

==0)}

else

if(result[0]

==1)}

return res;

}public

static

void

main

(string[

] args)

}

效能表現良好:

LeetCode67題 二進位制求和

67.二進位制求和 class solution def addbinary self,a str,b str str if a 0 and b 0 return 0 else x 0for i in range 1,len a 1 x int a i pow 2,i 1 for i in rang...

二進位制求和(力扣第67題)

題目 給你兩個二進位制字串,返回它們的和 用二進位制表示 輸入為非空字串且只包含數字1和0。示例1 輸入 a 11 b 1 輸出 100 示例2 輸入 a 1010 b 1011 輸出 10101 分析 其實就是兩個二進位制數的加法運算,兩個二進位制數相加,首先設定乙個進製識別符號flag,初始值設...

二進位制求和(力扣第67題)

題目 給你兩個二進位制字串,返回它們的和 用二進位制表示 輸入為非空字串且只包含數字1和0。示例1 輸入 a 11 b 1 輸出 100 示例2 輸入 a 1010 b 1011 輸出 10101 分析 其實就是兩個二進位制數的加法運算,兩個二進位制數相加,首先設定乙個進製識別符號flag,初始值設...