本文介紹了如何在二叉樹中搜索并返回節點?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在嘗試在二叉樹中搜索節點,如果它在那里,則返回,否則返回NULL。順便說一句,節點類有一個方法name(),它返回一個帶有其名稱的字符串.到目前為止,我得到的是:
private Node search(String name, Node node){
if(node != null){
if(node.name().equals(name)){
return node;
}
else{
search(name, node.left);
search(name, node.right);
}
}
return null;
}
這是正確的嗎??
推薦答案
如果結果不為空,則需要確保對搜索的遞歸調用返回。
這樣的東西應該可以工作.
private Node search(String name, Node node){
if(node != null){
if(node.name().equals(name)){
return node;
} else {
Node foundNode = search(name, node.left);
if(foundNode == null) {
foundNode = search(name, node.right);
}
return foundNode;
}
} else {
return null;
}
}
這篇關于如何在二叉樹中搜索并返回節點?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,