3
我試圖找到一個二叉搜索樹的最大值。示例解決方案如下,但我試圖瞭解我的解決方案是否有問題?我的樣品溶液的問題是,它似乎檢查每個節點是否爲無兩次:一次在「如果沒有current.right」和第二的「而當前...電流= current.right」,這似乎是多餘的。二叉搜索樹最大值
樣品溶液:
def find_largest(root_node):
current = root_node
while current:
if not current.right:
return current.value
current = current.right
我的解決辦法:
def find_largest(root_node):
current = root_node
if current:
while current.right is not None:
current = current.right
return current.value
問題/代碼來源:Interviewcake.com
是否有他,如果目前的:?理由該示例沒有檢查。是的,他鞏固了這個時間,如果沒有的話。所以...使用更多內存的更快的方式可能是分配最後一個值,並且只是在current.right last = current.right時返回last。咦? – joshstrike
@joshstrike當然有一個原因。如果'root_node'是'None'(即我們被賦予一棵空樹)會發生什麼? – kirelagin
@joshstrike標籤或調用名稱並不好。 –