題目描述
輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。
# class listnode:
# def __init__(self, x):
# self.val = x
# self.next = none
class
solution:
# 返回合併後列表
defmerge
(self, phead1, phead2):
# write code here
phead3 = listnode(0)
tmp = phead3
while phead1 and phead2:
if phead1.val>=phead2.val:
phead3.next = phead2
phead2 = phead2.next
else:
phead3.next = phead1
phead1= phead1.next
phead3 = phead3.next
if phead1:
phead3.next = phead1
elif phead2:
phead3.next = phead2
return tmp.next
牛客網 劍指offer 合併兩個排序的鍊錶
輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。有點類似於歸併排序的裡面的乙個基本操作,設定乙個新的節點res,兩個指標,分別指向兩個輸入,比較兩個對應的val的大小來決定誰放到res的next裡面去,考慮好邊界情況即可解題。具體 如下 1.遞迴版本 st...
牛客網OJ題 合併兩個有序鍊錶
輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。定義乙個新的鍊錶,用來存放合併後的鍊錶,並記錄該鍊錶的頭結點。1.判斷list1是否為空,如果為空直接返回list2。同樣,判斷list2是否為空,如果為空直接返回list1。2.當list1和list2同時...
牛客刷題之合併兩個排序的鍊錶
輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。解題思路 構建乙個空的新鍊錶,然後對原來兩個鍊錶中的節點兩兩進行比較,第一次比較小的節點將作為新鍊錶的頭節點 最後在依次比較後續的節點並放到新的鍊錶中,最後返回新鍊錶的頭節點即可。public class l...