本文主要是介绍LeetCode66. Plus One-python(easy),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目来源:
https://leetcode.com/problems/plus-one/description/
题目分析:
本题它字面上的解释有点没有看懂,看了别人的解释才理解。它的意思是给定一个数组,将期最后一个元素加1,然后返回新的数组,如果尾数进位了就需要它前面的一个元素加1表示进位。本题的思路是将这个数组先转化成整数形式,然后进行相加,最后将结果再返回为列表的形式。
实现代码:
class Solution:def plusOne(self, digits):""":type digits: List[int]:rtype: List[int]"""num=0for i in range(len(digits)):num=num*10+digits[i]num=num+1return([int(i) for i in str(num)]) %%要注意它这里是怎么将整数转化为列表形式的,需要学习
另外,还看到有人是直接将其当做列表在做。从它最后一个元素开始看,超过就该位归0,向前进位。如果到第0位的时候大于9了,则需要向前进位,多一个1.其具体代码如下:
class Solution:def plusOne(self, digits):""":type digits: List[int]:rtype: List[int]"""length = len(digits)for i in range(length - 1, -1, -1):num = digits[i] + 1if num > 9:digits[i] = 0if i == 0:digits = [1] + digits %%注意这里这种形式,则原列表的最顶端会多个1else:digits[i] += 1breakreturn digits
这篇关于LeetCode66. Plus One-python(easy)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!