java生成树节点类型数据
时间: 2023-10-31 11:06:41 浏览: 47
以下是一个简单的 Java 代码示例,用于创建一个树节点类型的数据结构:
```
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
public class TreeGenerator {
public static TreeNode generateTree(int[] array) {
if (array == null || array.length == 0) {
return null;
}
return generateTree(array, 0, array.length - 1);
}
private static TreeNode generateTree(int[] array, int start, int end) {
if (start > end) {
return null;
}
int mid = (start + end) / 2;
TreeNode root = new TreeNode(array[mid]);
root.left = generateTree(array, start, mid - 1);
root.right = generateTree(array, mid + 1, end);
return root;
}
}
```
这个示例中,我们创建了一个 `TreeNode` 类来表示树节点。每个节点存储一个整数值,以及左右子节点的引用。然后,我们创建了一个 `TreeGenerator` 类,它包含一个 `generateTree` 方法,该方法采用一个整数数组作为输入,返回一个根节点为数组中间元素的二叉树。
在 `generateTree` 方法中,我们首先检查输入数组是否为空或长度为零。如果是,则返回 `null`。否则,我们递归地构建树。我们首先计算数组的中间位置,并使用该位置上的元素创建根节点。然后,我们递归调用 `generateTree` 方法来创建左子树和右子树,分别传递数组的左半部分和右半部分。最后,我们返回根节点。