[隨筆] 高階程式設計師價值、素養、成長之路
阿新 • • 發佈:2021-01-03
技術標籤:每日一題
加一
題目
給定一個由 整數 組成的 非空 陣列所表示的非負整數,在該數的基礎上加一。
最高位數字存放在陣列的首位, 陣列中每個元素只儲存單個數字。
你可以假設除了整數 0 之外,這個整數不會以零開頭。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/plus-one
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
示例
示例 1:
輸入:digits = [1,2,3]
輸出:[1,2,4]
解釋:輸入陣列表示數字 123。
示例 2:
輸入:digits = [4,3,2,1]
輸出:[4,3,2,2]
解釋:輸入陣列表示數字 4321。
示例 3:
輸入:digits = [0]
輸出:[1]
提示:
1 <= digits.length <= 100
0 <= digits[i] <= 9
思路
此處用了最笨的辦法,將輸入的列表轉為整數,加一後放入新的列表,消耗記憶體過大,還需優化。
解答
class Solution:
def plusOne(self, digits):
str_int = ''
for i in digits:
str_int = str_int + str (i)
str_int = str(int(str_int) + 1)
li = []
for i in str_int:
li.append(int(i))
while len(digits) > len(li):
li.insert(0, 0)
return li
if __name__ == '__main__':
li = [9]
res = Solution().plusOne(li)
print(res)