(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)
?
?