共计 1075 个字符,预计需要花费 3 分钟才能阅读完成。
要使用 Java 递归查询树形结构,首先需要定义树的节点类,包含节点的值和子节点列表。然后,编写递归查询的方法。
以下是一个示例代码:
class TreeNode {int value;
List<TreeNode> children;
public TreeNode(int value) {this.value = value;
this.children = new ArrayList<>();}
}
class Tree {
TreeNode root;
public Tree(TreeNode root) {this.root = root;
}
// 递归查询树中是否包含指定值的节点
public boolean containsValue(TreeNode node, int value) {if (node.value == value) {return true;
}
for (TreeNode child : node.children) {if (containsValue(child, value)) {return true;
}
}
return false;
}
}
public class Main {public static void main(String[] args) {TreeNode node1 = new TreeNode(1);
TreeNode node2 = new TreeNode(2);
TreeNode node3 = new TreeNode(3);
TreeNode node4 = new TreeNode(4);
TreeNode node5 = new TreeNode(5);
node1.children.add(node2);
node1.children.add(node3);
node2.children.add(node4);
node3.children.add(node5);
Tree tree = new Tree(node1);
System.out.println(tree.containsValue(tree.root, 3)); // 输出:true
System.out.println(tree.containsValue(tree.root, 6)); // 输出:false
}
}
在上面的示例中,首先定义了一个 TreeNode
类,表示树的节点。Tree
类表示整个树结构,并包含了一个递归查询方法containsValue
,用于在树中查找是否包含指定值的节点。
在 main
方法中,创建了一个包含多个节点的树,并进行了查询操作。输出结果为 true
表示树中包含指定值的节点,输出结果为 false
表示树中不包含指定值的节点。
丸趣 TV 网 – 提供最优质的资源集合!
正文完