一、前记(2/3)
今天尝试了一下将pycharm里面的代码直接传到Github上,还是比较方便的,感觉多了一个生产力!!!(嘿嘿)可惜最近没啥项目可以传到GitHub里面,之前写的大数据网站和python爬虫的东西都删掉了(可惜可惜)。以后会慢慢地写一些大一点的项目,写完之后会传到GitHub上面。
二、题目描述

三、解题思路
1、我的思路
其实我的思路比较简单:list不能直接转化成int。那我先将list转化成str,再将str转换成int。再做一个简单的+1算法,最后int->str->list就完成了。
但在这里我学到了一个非常有意思的函数--map(),这个函数会根据提供的函数对指定序列做映射。格式:map(做什么事情,对象)
参考代码:
#encoding:utf-8
class Solution:
def plusOne(self, digits):
num_str = ""
for i in digits:
num_str += str(i)
return list(map(int, str(int(num_str) + 1)))
#as a checking
solution=Solution()
a=[1,2,3]
2、别人的思路
其实别人的思路也还是非常的简单。就是简单的一个从个位开始计算的加法运算。
参考代码:
class Solution(object):
def plusOne(self, digits):
# 从-1位到1位
for i in range(len(digits) - 1, -1, -1):
# 倒序判断,该位为9则替换为0
if digits[i] == 9:
digits[i] = 0
else:
# 将前一位加一
digits[i]+=1
break
# 首位为0,进一位
if digits[0] == 0:
digits.insert(0,1)
return digits
#as a checking
solution=Solution()
a=[9]
print(solution.plusOne(a))
四、学到了什么?
1、map(操作,对象)
2、insert(索引,值) --list