我已經寫了幾個函數來計算二叉樹的大小。第一個(函數1)工作得很好,在類之外聲明,它不是類的成員函數。然而,第二個是班級的成員功能是給我奇怪的結果。我很困惑!任何幫助,將不勝感激。Python中的二叉樹大小函數
Function 1
def size(root):
if root is None:
return 0
else:
return size(root.left)+ 1+ size(root.right)
Function 2
def size(self):
if self.left is None or self.right is None:
return 0
else:
return self.left.size()+1+self.right.size()
您的if語句條件在函數之間是不等價的。具體來說,如果左邊或右邊的子項不存在,第二個函數返回0。這可能不是你想要的。 – Shashank