这是我第一次参加 LeetCode (力扣) 的每月挑戰题组希望留下点笔记,大家可以参考和互相讨论?
这数列的头一位数是该数最大的数位,如此类推到个位数而且每个位置只放┅个数字 (0-9)。可以假设这数列头一位数不会是0除非该数本身是0。
一开始首先想到的是把这数列倒过来,然后直接加一在头一位 (现在是个位数)再倒回来返回便是答案。
代码一 (时间复杂度:O(?n))
上面的代码其实有个问题就是每次呼叫reversed()
都已经需要 O(n) 的时间,所以实际上有很多时間成本并不是花在计算上因此,我就再想了一个算法这次直接从列表上一个一个数字算,不需要倒转列表就可以返回也省了不必要嘚时间。