1. 程式人生 > >(leetcode)66. 加一

(leetcode)66. 加一

題目描述:

給定一個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一。

最高位數字存放在陣列的首位, 陣列中每個元素只儲存一個數字。

你可以假設除了整數 0 之外,這個整數不會以零開頭。

示例 1:

輸入: [1,2,3]
輸出: [1,2,4]
解釋: 輸入陣列表示數字 123。

示例 2:

輸入: [4,3,2,1]
輸出: [4,3,2,2]
解釋: 輸入陣列表示數字 4321。

先說一下個人解題思路,這個題比較簡單,我是先把列表轉化為數字,然後再將數字轉化為字元,通過遍歷字元將字元轉化為列表

程式碼奉上:

class Solution:
    def plusOne(self, digits):
        """
        :type digits: List[int]
        :rtype: List[int]
        """
        """列表轉化為數字"""
        nums = 0
        for i in digits:
            nums = nums * 10 + i
        nums = nums + 1

        """數字轉化為字元"""
        str_nums = str(nums)

        """字元轉化為列表"""
        res = []
        for i in str_nums:
            res.append(int(i))
        return res

if __name__ == '__main__':
    S = Solution()
    res = S.plusOne([4,3,2,1])#測試列表
    res1 =S.plusOne([7,8,5,9,9])#測試列表
    print(res)
    print(res1)


輸出結果:
[4, 3, 2, 2]
[7, 8, 6, 0, 0]

Process finished with exit code 0

程式碼小白,敬請指正