(1)、单链表的翻转
参考:
https://www.cnblogs.com/mafeng/p/7149980.html
参考代码:
def reverse_linkedlist2(head):
if
head == None or head.next == None: #边界条件
return
head
cur = head #循环变量
tmp = None #保存数据的临时变量
newhead = None #新的翻转单链表的表头
while
cur:
tmp = cur.next
cur.next = newhead
newhead = cur # 更新 新链表的表头
cur = tmp
return
newhead
(2)、斐波那契数列
递归实现:
def fibonacci(n):if n == 1 or n == 2:return 1else:return fibonacci(n-1)+fibonacci(n-2)print(fibonacci(6))
生成器实现,生成器是迭代器的一种:
def fibonacci(n):i, num1, num2 = 0, 1, 1while i < n:yield num1num1, num2 = num2, num1 + num2i = i+1# 在这里返回值不再是一个列表,而是一个生成器.可以通过for in 或者 next()来取值 for i in fibonacci(3):print(i)
(3)闰年判断
def run_year(year):year = int(year)if (year %4 == 0 and year % 100 !=0) or year %400 ==0:print("{}是闰年".format(year))else:print("{}不是闰年".format(year))run_year(2004)