算法题目-二叉树前中后序遍历

本文通过一个具体的例子展示了二叉树的前序、中序和后序遍历过程。使用Java语言实现了二叉树节点定义及遍历方法,并给出了完整的遍历结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:https://blog.youkuaiyun.com/lynn_Kun/article/details/73222673

前序:根-左-右

中序:左-根-右

后序:左-右-根

实现:

[java]  view plain  copy
  1. class TreeNode1 {  
  2.     int val = 0;  
  3.     TreeNode1 left = null;  
  4.     TreeNode1 right = null;  
  5.     public TreeNode1(int val) {  
  6.         this.val = val;  
  7.     }  
  8. }  
  9.   
  10. public class printTree {  
  11.     public static void main(String[] args) {  
  12.         TreeNode1 A=new TreeNode1(1);  
  13.         TreeNode1 B=new TreeNode1(2);  
  14.         TreeNode1 C=new TreeNode1(3);  
  15.         TreeNode1 D=new TreeNode1(4);  
  16.         TreeNode1 E=new TreeNode1(5);  
  17.         TreeNode1 F=new TreeNode1(6);  
  18.         A.left=B;A.right=C;  
  19.         B.left=D;B.right=E;  
  20.         C.left=null;C.right=F;  
  21.         D.left=null;D.right=null;  
  22.         E.left=null;E.right=null;  
  23.         F.left=null;F.right=null;  
  24.         System.out.print("前序遍历结果:");  
  25.         preTree(A);  
  26.         System.out.println();  
  27.         System.out.print("中序遍历结果:");  
  28.         inTree(A);  
  29.         System.out.println();  
  30.         System.out.print("后序遍历结果:");  
  31.         postTree(A);  
  32.     }  
  33.     static void preTree(TreeNode1 root){//前序遍历  
  34.         if(root==null){  
  35.             return;  
  36.         }  
  37.         System.out.print(root.val+" ");  
  38.         if(root.left!=null){  
  39.             preTree(root.left);  
  40.         }  
  41.         if(root.right!=null){  
  42.             preTree(root.right);  
  43.         }  
  44.     }  
  45.     static void inTree(TreeNode1 root){//中序遍历  
  46.         if(root.left!=null){  
  47.             inTree(root.left);  
  48.         }  
  49.         System.out.print(root.val+" ");  
  50.         if(root.right!=null){  
  51.             inTree(root.right);  
  52.         }  
  53.     }  
  54.     static void postTree(TreeNode1 root){//后序遍历  
  55.         if(root.left!=null){  
  56.             inTree(root.left);  
  57.         }  
  58.         if(root.right!=null){  
  59.             inTree(root.right);  
  60.         }  
  61.         System.out.print(root.val+" ");  
  62.     }  
  63. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值