2012-12-07 49 views
0

我無法找到二叉搜索樹的最小元素。我有一些代碼完成,但它不起作用。查找二叉搜索樹的最小元素

public T getMinElement(TreeNode<T> node) { 
    //TODO: implement this 
    if (node == null){ 
     return null; 
    } 
    if (node.getLeftChild() == null){ 
     return (T) node; 
    } 
    else{ 
     return getMinElement(node); 
    } 
} 
+2

你是什麼意思「它不工作」?請提供有關您遇到的問題的更多詳細信息。 –

回答

6

你快到了!你只需要在你的二叉搜索樹的左邊子項上遞歸(總是保證更小)。你也有一些我修正的語法錯誤。

public <T> T getMinElement(TreeNode<T> node) { 
    if (node == null){ 
    return null; 
    } 
    if (node.getLeftChild() == null){ 
    return node.getData(); // or whatever your method is 
    } else{ 
    return getMinElement(node.getLeftChild()); 
    } 
}