二叉树的遍历:前序遍历、中序遍历和后序遍历

如果二叉树不为空,根据二叉树结点的父子结构 有三种遍历方式:前序遍历、中序遍历和后序遍历

1.前序遍历(按传统:父为大,上左下右)

采用递归:父结点——>左孩子——>右孩子

2.中序遍历很方便:从左到右)

采用递归:左孩子——>父结点——>右孩子

3.后序遍历(现代化:孩子优先)

采用递归:左孩子——>右孩子——>父结点

示例:

二叉树



结果:


实现代码

前序遍历:

public void PreOrder(TreeNode root){
		
		if(root == null){
			return;
		}
		TreeNode cur = root;
		if(cur != null){
			System.out.print("—" + cur.val +"—");
			solve(cur.left);
			solve(cur.right);
		}	

中序遍历:
public void InOrder(TreeNode root){
		if(root == null){
			return;
		}
		TreeNode cur = root;
		if(cur != null){      //左孩子、父结点、右孩子
			solve(cur.left);
			System.out.print("—" +cur.val + "—" );
			solve(cur.right);
		}	
	}

后序遍历:
public void solve(TreeNode root){
		if(root == null){
			return;
		}
		TreeNode cur = root;
		if(cur != null){  //先左右孩子,后父亲结点
			solve(cur.left);
			solve(cur.right);
			System.out.print("—" + cur.val +"—");
		}	
		
	}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值