给定一棵 N 个节点的树,要求输出该树的结构的代码
时间: 2023-03-06 22:26:23 浏览: 86
根据给定的 N 个节点,可以使用递归算法建立树结构,代码如下:
// 定义树节点类
class Node {
int val;
List<Node> children;
Node(int val) {
this.val = val;
this.children = new ArrayList<Node>();
}
}
// 建立树结构
public Node buildTree(int[] nodes) {
Node root = new Node(nodes[0]);
for(int i = 1; i < nodes.length; i++) {
buildSubTree(root, nodes[i]);
}
return root;
}
// 递归建立子树
private void buildSubTree(Node root, int val) {
if(root.val == val) {
return;
}
if(root.val > val) {
if(root.left == null) {
root.left = new Node(val);
} else {
buildSubTree(root.left, val);
}
} else {
if(root.right == null) {
root.right = new Node(val);
} else {
buildSubTree(root.right, val);
}
}
}