python遞迴需要使用self

2021-09-20 18:45:24 字數 769 閱讀 7922

在刷劍指offer的時候遇到合併鍊錶的題,使用python嘗試用遞迴方法來解,結果出現了global name 'merge' is not defined的錯誤,原因是在遞迴呼叫的時候需要使用self.merge()

# class listnode:

# def __init__(self, x):

# self.val = x

# self.next = none

class solution:

# 返回合併後列表

def merge(self, phead1, phead2):

# write code here

if phead1 ==none:

return phead2

if phead2 == none:

return phead1

pmerge = none

if phead1 !=none and phead2!=none:

if phead1.val>phead2.val:

pmerge = phead2

pmerge.next = self.merge(phead2.next,phead1)

else:

pmerge = phead1

pmerge.next = self.merge(phead1.next,phead2)

return pmerge

SQL Server到底需要使用哪些埠

sql server在安裝到伺服器上後,由於出於伺服器安全的需要,所以需要遮蔽掉所有不使用的埠,只開放必須使用的埠。下面就來介紹下sql server 2008中使用的埠有哪些 首先,最常用最常見的就是1433埠。這個是資料庫引擎的埠,如果我們要遠端連線資料庫引擎,那麼就需要開啟該埠。這個埠是可以修...

shell 指令碼 算術測試需要使用

bin bash 算術測試.結構可以用來計算並測試算術表示式的結果.退出狀態將會與 結構完全相反 0 echo exit status of 0 is 1 1 echo exit status of 1 is 0 5 4 真 echo exit status of 5 4 is 0 5 9 假 ec...

SQL Server到底需要使用哪些埠

sql server在安裝到伺服器上後,由於出於伺服器安全的需要,所以需要遮蔽掉所有不使用的埠,只開放必須使用的埠。下面就來介紹下sql server 2008中使用的埠有哪些 首先,最常用最常見的就是1433埠。這個是資料庫引擎的埠,如果我們要遠端連線資料庫引擎,那麼就需要開啟該埠。這個埠是可以修...