Python-劍指offer(15,16)反轉連結串列,合併兩個連結串列
阿新 • • 發佈:2018-12-11
題目:輸入一個連結串列,反轉連結串列後,輸出新連結串列的表頭。
環境:Python2.7.3
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回ListNode def ReverseList(self, pHead): # write code here if not pHead or not pHead.next: return pHead newHead = None while pHead: temp = pHead.next pHead.next = newHead newHead = pHead pHead = temp return newHead
題目:輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則。
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回合併後列表 def Merge(self, pHead1, pHead2): # write code here if not pHead1: return pHead2 if not pHead2: return pHead1 if pHead1.val < pHead2.val: pres = pHead1 pres.next = self.Merge(pHead1.next, pHead2) else: pres = pHead2 pres.next = self.Merge(pHead1, pHead2.next) return pres