java二叉树遍历代码怎么写

avatar
作者
筋斗云
阅读量:3

在Java中,二叉树的遍历有三种方式:前序遍历、中序遍历和后序遍历。下面是这三种遍历方式的代码示例:

// 定义二叉树节点 class TreeNode {     int val;     TreeNode left;     TreeNode right;          TreeNode(int val) {         this.val = val;     } }  // 前序遍历 void preOrderTraversal(TreeNode root) {     if (root == null) {         return;     }          System.out.print(root.val + " ");  // 先访问根节点     preOrderTraversal(root.left);      // 再前序遍历左子树     preOrderTraversal(root.right);     // 最后前序遍历右子树 }  // 中序遍历 void inOrderTraversal(TreeNode root) {     if (root == null) {         return;     }          inOrderTraversal(root.left);       // 先中序遍历左子树     System.out.print(root.val + " ");  // 再访问根节点     inOrderTraversal(root.right);      // 最后中序遍历右子树 }  // 后序遍历 void postOrderTraversal(TreeNode root) {     if (root == null) {         return;     }          postOrderTraversal(root.left);     // 先后序遍历左子树     postOrderTraversal(root.right);    // 再后序遍历右子树     System.out.print(root.val + " ");  // 最后访问根节点 } 

使用时,可以先构建二叉树,然后根据需要选择对应的遍历方法进行遍历。例如:

public static void main(String[] args) {     // 构建二叉树     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);          // 前序遍历     System.out.println("前序遍历结果:");     preOrderTraversal(root);          // 中序遍历     System.out.println("\n中序遍历结果:");     inOrderTraversal(root);          // 后序遍历     System.out.println("\n后序遍历结果:");     postOrderTraversal(root); } 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!