給你兩個二進位制字串,返回它們的和(用二進位制表示)。
輸入為 非空 字串且只包含數字 1 和 0。
示例 1:
輸入: a = 「11」, b = 「1」
輸出: 「100」
示例 2:
輸入: a = 「1010」, b = 「1011」
輸出: 「10101」
每個字串僅由字元 '0' 或 '1' 組成。
1 <= a.length, b.length <= 10^4
字串如果不是 "0" ,就都不含前導零。
class
solution
// 如果 a 還沒遍歷完成(a串比b串長),則繼續遍歷新增 a 的剩餘部分
while
(i >=0)
// 如果 b 還沒遍歷完成(b串比a串長),則繼續遍歷新增 b 的剩餘部分
while
(j >=0)
//如果 carry 不等於0 還有個進製數沒加進去,需要補充
if(carry ==1)
//反轉字串獲得正常結果
return builder.
reverse()
.tostring()
;}
這裡需要理解的是利用到了1的ascii碼比0恰好大1,通過這個我們可以直接將數值填入sum中,此外最後需要反轉是因為我們填入stringbuilder是由低位計算逐步填入的,最後得到的結果是高位打頭的,所以需要反轉。 leetcode刷題 字串
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true 示例 2 輸入 s rat t car 輸出 false 說明 你可以假設字串只包含小寫字母。高階 如果輸入字串包含 unicode 字元怎麼辦?你能否...
leetcode刷題 字串 反轉字串
給定乙個字串 s 和乙個整數 k,你需要對從字串開頭算起的每隔 2k 個字元的前 k 個字元進行反轉。如果剩餘字元少於 k 個,則將剩餘字元全部反轉。如果剩餘字元小於 2k 但大於或等於 k 個,則反轉前 k 個字元,其餘字元保持原樣。示例 輸入 s abcdefg k 2 輸出 bacdfeg 該...
LeetCode刷題 字串陣列之間轉換
給你乙個僅由數字 6 和 9 組成的正整數 num。你最多只能翻轉一位數字,將 6 變成 9,或者把 9 變成 6 請返回你可以得到的最大數字。示例 1 輸入 num 9669 輸出 9969 解釋 改變第一位數字可以得到 6669 改變第二位數字可以得到 9969 改變第三位數字可以得到 9699...