輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。
# -*- coding:utf-8 -*-
# class listnode:
# def __init__(self, x):
# self.val = x
# self.next = none
class
solution
:# 返回合併後列表
defmerge
(self, phead1, phead2)
:# write code here
#首先判斷邊界條件
if phead1==
none
:return phead2
if phead2==
none
:return phead1
#定義乙個指向表頭的指標,但是不確定這個指向表頭的指標是指向phead1的表頭還是phead2的表頭
newhead=phead1 if phead1.val#定義兩個進行判斷的判斷指標
ptmp1=phead1
ptmp2=phead2
#判斷指向表頭的指標是指向哪乙個表頭
if newhead==ptmp1:
#若指向表頭1
ptmp1=ptmp1.
next
#則判斷指標1指向下乙個值
else
: ptmp2=ptmp2.
next
#否則判斷指標2指向下乙個值
previouspointer=newhead#定義乙個起連線作用的指標
#利用指標合併鍊錶
while ptmp1 and ptmp2:
if ptmp1.val#若判斷指標1指向的值更加小
previouspointer.
next
=ptmp1#連線指標和判斷指標1指向的值相連
previouspointer=ptmp1#連線指標指向判斷指標1指向的位置
ptmp1=ptmp1.
next
#判斷指標指向下乙個值
else
: previouspointer.
next
=ptmp2
previouspointer=ptmp2
ptmp2=ptmp2.
next
if ptmp1==
none
: previouspointer.
next
=ptmp2
else
: previouspointer.
next
=ptmp1
return newhead
class
solution
:# 返回合併後列表
defmerge
(self, phead1, phead2)
:# write code here
if phead1==
none
:return phead2
if phead2==
none
:return phead1
if phead1.val<=phead2.val:
phead1.
next
=self.merge(phead1.
next
,phead2)
return phead1
if phead1.val>=phead2.val:
phead2.
next
=self.merge(phead1,phead2.
next
)return phead2
class
solution
:# 返回合併後列表
defmerge
(self, phead1, phead2)
:# write code here
tmp = listnode(0)
phead = tmp
while phead1 and phead2:
if phead1.val < phead2.val:
tmp.
next
= phead1
phead1 = phead1.
next
else
: tmp.
next
= phead2
phead2 = phead2.
next
tmp = tmp.
next
ifnot phead1:
tmp.
next
= phead2
ifnot phead2:
tmp.
next
= phead1
return phead.
next
牛客66道程式設計題 替換空格
class solution s 源字串 defreplacespace self,s write code here return s.replace 20 class solution s 源字串 defreplacespace self,s write code here s list s 把...
牛客66道程式設計題 跳台階
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 當只有1個台階時,只有一種跳法,那就是1。當有2個台階時,則有兩種跳法,分別是1 1和2。當有3個台階時,則有3種跳法,分別是1 1 1,1 2和2 1。當有4個台階時,則有5種跳法,...
牛客刷題之合併兩個排序的鍊錶
輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。解題思路 構建乙個空的新鍊錶,然後對原來兩個鍊錶中的節點兩兩進行比較,第一次比較小的節點將作為新鍊錶的頭節點 最後在依次比較後續的節點並放到新的鍊錶中,最後返回新鍊錶的頭節點即可。public class l...