java二叉树的先序遍历建立
时间: 2024-11-15 17:21:04 浏览: 30
在Java中,二叉树的先序遍历是一种递归的过程,它按照"根节点 -> 左子树 -> 右子树"的顺序访问每个节点。以下是通过递归函数实现二叉树先序遍历并建立新数组的方式:
```java
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int val) { this.val = val; }
}
public class PreorderTraversal {
// 先序遍历的核心方法
public static void preorderTraversal(TreeNode root, List<Integer> result) {
if (root != null) {
// 将当前节点的值添加到结果列表中
result.add(root.val);
// 递归地遍历左子树
preorderTraversal(root.left, result);
// 递归地遍历右子树
preorderTraversal(root.right, result);
}
}
// 使用该方法从给定的二叉树构建先序遍历的结果
public static List<Integer> buildPreorderTraversal(TreeNode root) {
List<Integer> result = new ArrayList<>();
preorderTraversal(root, result);
return result;
}
}
```
当你有一个二叉树的根节点 `root`,你可以通过调用 `buildPreorderTraversal(root)` 来获取其先序遍历的整数列表。
阅读全文