二叉树 递归 前序 中序 后续遍历【java简单】

 

 胡扯:第一次接触 前中后 遍历,应该是在上数据结构,玩手机抬头偶然听说的。很长一段时间我去记它的规律又因

为并不是很常用,所以总是记记忘忘。  但是最近在学习递归的时候,发现用 递归去遍历真的是好用又好记还好理解,

本着好东西不私藏的原则,在这里贡献给大家。

 

先简单说一下,三种便利顺序。(心急了直接上后面看代码)

    1、前序:   根左右

    2、中序:    左根右

    3、后序:    左右根

    4、在下面的代码中,你将很好的体会这个顺序。

public void ergodic(TreeNode r){
        
    if(r.left == null && r.right == null){
         System.out.print(r.val +" ");
         return ;
     }
    *******************
    想用什么序  拿到下面的代码上来
    *******************
        
}


//1、前序
   System.out.print(r.val +" ");
     if(r.left != null)
        ergodic(r.left);
     if(r.right != null)
        ergodic(r.right); 



//2、中序

    
    if(r.left != null)
        ergodic(r.left);
    System.out.print(r.val +" ");    
    if(r.right != null)
        ergodic(r.right);   


//3、后序
    if(r.left != null)
        ergodic(r.left);
    if(r.right != null)
        ergodic(r.right);  

  System.out.print(r.val +" "); 

 

二叉树代码

 

public class TreeNode {
     int val;
     TreeNode left;
     TreeNode right;
     TreeNode(int x) { val = x; }
}

如果你不想这么输出,想收集起来的话,建议可以去弄个全局变量,一个个把上面的输出换成全局变量就好了。 是不是很简单

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值