Java 树结构查询实现:递归算法示例
树查询可以使用递归算法实现,以下是Java代码示例:
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public class TreeSearch {
public TreeNode search(TreeNode root, int target) {
if (root == null || root.val == target) {
return root;
}
TreeNode leftResult = search(root.left, target);
if (leftResult != null) {
return leftResult;
}
TreeNode rightResult = search(root.right, target);
if (rightResult != null) {
return rightResult;
}
return null;
}
}
在上述代码中,search 方法接收一个 TreeNode 类型的 root 节点和一个目标值 target,返回与目标值相等的节点。如果节点为空或者节点值等于目标值,则返回该节点;否则递归查询左右子树,直到找到目标节点或者遍历完整个树。
原文地址: https://www.cveoy.top/t/topic/mskx 著作权归作者所有。请勿转载和采集!