劍指Offer Python 合併兩個排序的鍊錶

2021-08-21 21:52:18 字數 953 閱讀 7854

題目:合併兩個排序的鍊錶

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。

思路:因為兩個鍊錶是有序的,將其合併,用到了雙指標合併的方法。大致步驟:設定兩個指標分別指向兩個鍊錶的頭部,定義乙個新的鍊錶。比較兩個指標結點大小,將較小結點插入新煉表中,然後繼續向後遍歷兩個鍊錶,直到其中之一到尾部,新鍊錶插入另乙個非空鍊錶。

**:

# -*- 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 is

none:

return phead2

elif phead2 is

none:

return phead1

p = phead1

q = phead2

h = new_head = listnode(none)

while p and q:

if p.val <= q.val:

h.next = p

p = p.next

else:

h.next = q

q = q.next

h = h.next

if p:

h.next = p

if q:

h.next = q

return new_head.next

劍指offer(Python)替換空格

這道題要求是 將乙個字串中的空格替換成 20 有多少個空格就替換成多少個 20 例如 hello world 中間有兩個空格,則需要輸出的形式是 hello 20 20world 字串首尾的空格亦算在內。class solution def replacespace self,s return 20...

劍指offer Python 替換空格

請實現乙個函式,將乙個字串中的每個空格替換成 20 python字串,有replace方法,可以實現替換,第乙個引數是要替換的內容,第二個引數是替換的新內容 能夠快速完成,果然python作為一種高階語言,不太適合做演算法 但是 replace 相當於 insert 在替換 時,會將原字串元素的位置...

《劍指offer》python 動態規劃

動態規劃是利用空間去換取時間的演算法.主要看 1.初始條件 2.重疊子問題 3.狀態轉移方程 題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 coding utf 8 class solution def jumpfloo...