java TreeNode 遍历
时间: 2024-04-30 13:18:19 浏览: 11
Java中二叉树的节点通常是通过TreeNode类来表示的,遍历二叉树的方式有三种,分别是前序遍历、中序遍历和后序遍历。
前序遍历:先访问根节点,然后遍历左子树,最后遍历右子树。
中序遍历:先遍历左子树,然后访问根节点,最后遍历右子树。
后序遍历:先遍历左子树,然后遍历右子树,最后访问根节点。
以下是Java中二叉树节点遍历的示例代码:
```
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public class BinaryTreeTraversal {
// 前序遍历
public void preorderTraversal(TreeNode root) {
if (root == null) {
return;
}
System.out.print(root.val + " ");
preorderTraversal(root.left);
preorderTraversal(root.right);
}
// 中序遍历
public void inorderTraversal(TreeNode root) {
if (root == null) {
return;
}
inorderTraversal(root.left);
System.out.print(root.val + " ");
inorderTraversal(root.right);
}
// 后序遍历
public void postorderTraversal(TreeNode root) {
if (root == null) {
return;
}
postorderTraversal(root.left);
postorderTraversal(root.right);
System.out.print(root.val + " ");
}
}
```
在上面的代码中,我们定义了一个TreeNode类来表示二叉树的节点,然后定义了BinaryTreeTraversal类来实现三种遍历方式。在每种遍历方法中,我们首先判断根节点是否为空,如果不为空则按照遍历顺序依次遍历左子树和右子树,并打印出遍历到的节点的值。