遍历二叉树的算法JAVA
时间: 2023-05-17 18:06:13 浏览: 67
可以使用递归或迭代的方式遍历二叉树。以下是使用递归方式遍历二叉树的JAVA代码:
```
public void traverse(TreeNode root) {
if (root != null) {
traverse(root.left);
traverse(root.right);
System.out.print(root.val + " ");
}
}
```
其中,TreeNode是二叉树节点的定义,包含左右子节点和节点值。
如果要使用迭代方式遍历二叉树,可以使用栈来实现。以下是使用栈方式遍历二叉树的JAVA代码:
```
public void traverse(TreeNode root) {
if (root == null) {
return;
}
Stack<TreeNode> stack = new Stack<>();
stack.push(root);
while (!stack.isEmpty()) {
TreeNode node = stack.pop();
if (node.right != null) {
stack.push(node.right);
}
if (node.left != null) {
stack.push(node.left);
}
System.out.print(node.val + " ");
}
}
```
其中,先将根节点入栈,然后每次取出栈顶节点,先将右子节点入栈,再将左子节点入栈,最后输出节点值。