java前序遍历树结构并输出到一个List结构中
时间: 2023-09-03 13:25:07 浏览: 161
### 回答1:
可以使用递归的方法来实现前序遍历并输出到一个 List 中。
首先,定义一个前序遍历方法,接受一个节点和一个 List 作为参数:
```
void preorder(Node node, List<Integer> list) {
if (node == null) {
return;
}
// 将当前节点的值加入到 List 中
list.add(node.val);
// 遍历左子树
preorder(node.left, list);
// 遍历右子树
preorder(node.right, list);
}
```
然后,调用这个方法,传入根节点和一个空的 List 即可:
```
List<Integer> list = new ArrayList<>();
preorder(root, list);
```
这样,就能够得到一个包含树的前序遍历结果的 List 了。
### 回答2:
Java前序遍历树结构并输出到一个List结构中的方法如下:
首先,定义一个树节点类,包含节点的值和左右子节点的引用。
```java
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int val) {
this.val = val;
left = null;
right = null;
}
}
```
其次,创建一个List用于存储遍历结果。
```java
List<Integer> result = new ArrayList<>();
```
然后,编写一个递归方法来进行前序遍历,并将节点值添加到List中。
```java
void preorderTraversal(TreeNode root, List<Integer> result) {
if (root == null) {
return;
}
result.add(root.val); // 将当前节点的值添加到List中
preorderTraversal(root.left, result); // 递归遍历左子树
preorderTraversal(root.right, result); // 递归遍历右子树
}
```
最后,使用以上代码,可以对树进行前序遍历,并将结果存储在List中。
```java
// 创建一个树
TreeNode root = new TreeNode(1);
root.left = new TreeNode(2);
root.right = new TreeNode(3);
root.left.left = new TreeNode(4);
root.left.right = new TreeNode(5);
// 进行前序遍历
preorderTraversal(root, result);
// 输出结果
System.out.println(result);
```
运行以上代码,将会输出List中的元素,即树的前序遍历结果。
阅读全文