共計(jì) 848 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
在 Java 中,使用遞歸實(shí)現(xiàn)查找樹(shù)的子節(jié)點(diǎn)可以通過(guò)以下步驟完成:
- 定義樹(shù)節(jié)點(diǎn)類,包含節(jié)點(diǎn)值和左右子節(jié)點(diǎn)引用。
class TreeNode {int value;
TreeNode left;
TreeNode right;
TreeNode(int value) {this.value = value;
}
}
- 定義遞歸方法,傳入當(dāng)前節(jié)點(diǎn)和目標(biāo)值。
public TreeNode findChildNode(TreeNode node, int targetValue) {// 如果當(dāng)前節(jié)點(diǎn)為空,返回空值
if (node == null) {return null;
}
// 如果當(dāng)前節(jié)點(diǎn)的值等于目標(biāo)值,返回當(dāng)前節(jié)點(diǎn)
if (node.value == targetValue) {return node;
}
// 遞歸搜索左子樹(shù)
TreeNode leftResult = findChildNode(node.left, targetValue);
// 如果左子樹(shù)找到了目標(biāo)節(jié)點(diǎn),返回結(jié)果
if (leftResult != null) {return leftResult;
}
// 遞歸搜索右子樹(shù)
return findChildNode(node.right, targetValue);
}
- 調(diào)用方法進(jìn)行查找子節(jié)點(diǎn)。
// 創(chuàng)建樹(shù)節(jié)點(diǎn)
TreeNode root = new TreeNode(1);
root.left = new TreeNode(2);
root.right = new TreeNode(3);
root.left.left = new TreeNode(4);
root.right.right = new TreeNode(5);
// 查找節(jié)點(diǎn)值為 4 的子節(jié)點(diǎn)
TreeNode result = findChildNode(root, 4);
// 輸出結(jié)果
if (result != null) {System.out.println(" 找到了子節(jié)點(diǎn):" + result.value);
} else {System.out.println(" 未找到子節(jié)點(diǎn) ");
}
以上是一個(gè)簡(jiǎn)單的使用遞歸查找樹(shù)的子節(jié)點(diǎn)的示例。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完