JAVA描写二叉树的遍历
时间: 2023-05-11 12:02:37 浏览: 136
JAVA可以使用递归或迭代的方式来描写二叉树的遍历。其中,前序遍历、中序遍历和后序遍历都可以使用递归的方式实现,而层序遍历则需要使用迭代的方式实现。
以下是JAVA中递归实现二叉树前序遍历的代码:
```
public void preOrder(TreeNode root) {
if (root != null) {
System.out.print(root.val + " ");
preOrder(root.left);
preOrder(root.right);
}
}
```
其中,TreeNode是二叉树节点的定义,包括val、left和right三个属性。
如果要实现中序遍历,只需要将preOrder方法中的打印语句移动到递归调用左子树之后即可。
后序遍历则需要将打印语句移动到递归调用右子树之后。
层序遍历则需要使用队列来实现,以下是JAVA中迭代实现二叉树层序遍历的代码:
```
public void levelOrder(TreeNode root) {
if (root == null) {
return;
}
Queue<TreeNode> queue = new LinkedList<>();
queue.offer(root);
while (!queue.isEmpty()) {
TreeNode node = queue.poll();
System.out.print(node.val + " ");
if (node.left != null) {
queue.offer(node.left);
}
if (node.right != null) {
queue.offer(node.right);
}
}
}
```
其中,LinkedList实现了Queue接口,可以用来作为队列使用。
阅读全文