前序、中序、后序遍历
1、树有很多种,每个节点最多只能有两个子节点的一种形式称为二叉树。
2、二叉树的子节点分为左节点和右节点。
3、前序遍历:先输出父节点,再遍历左子树和 右子树。
4、中序遍历:先遍历左子树,再输出父节点,再遍历右子树。
5、后序遍历:先遍历左子树,再遍历右子树,最后输出父节点。
6、前序遍历代码:
public List<Integer> postorderTraversal(TreeNode root){List<Integer>res=new ArrayList<>();preorder(root,res);return res;}private void preorder(TreeNode root,List<Integer>res){if(root!=null){res.add(root.val);preorder(root.left,res);preorder(root.right,res);}}
7、中序遍历代码
public List<Integer> postorderTraversal(TreeNode root){List<Integer>res=new ArrayList<>();preorder(root,res);return res;}private void preorder(TreeNode root,List<Integer>res){if(root!=null){preorder(root.left,res);res.add(root.val);preorder(root.right,res);}}
8、后序遍历代码
public List<Integer> postorderTraversal(TreeNode root){List<Integer>res=new ArrayList<>();preorder(root,res);return res;}private void preorder(TreeNode root,List<Integer>res){if(root!=null){preorder(root.left,res);preorder(root.right,res);res.add(root.val);}}
前序、中序、后序遍历相关推荐
- 二叉树的前序中序后序遍历
二叉树的前序中序后序遍历 二叉树的遍历 前序遍历 中序遍历 后序遍历 总结 二叉树的遍历 二叉树的遍历有前序遍历,中序遍历,后序遍历三种. 今天我把二叉树的遍历方法给大家总结一下,也算对我自己学习的一 ...
- 【二叉树Java】二叉树遍历前序中序后序遍历的非递归写法
本文主要介绍二叉树前序中序后序遍历的非递归写法 在探讨如何写出二叉树的前序中序后序遍历代码之前,我们先来明确一个问题,前序中序后序遍历根据什么区分? 二叉树的前序中序后序遍历,是相较根节点说的.最先遍 ...
- 二叉树的前序中序后序遍历java代码实现
1.前序遍历概述 前序遍历(VLR) 是二叉树遍历的一种,也叫做先根遍历.先序遍历.前序周游,可记做根左右.前序遍历首先访问根结点然后遍历左子树,最后遍历右子树. 若二叉树为空则结束返回,否则: (1 ...
- 二叉树遍历(递归实现前序/中序/后序遍历)
1. 准备工作 我们先定义一棵普通的二叉树,如下图 2. 前序遍历 通过递归进行遍历: 如果二叉树为空,则操作返回: 如果非空,否则从根结点开始,然后遍历左子树,再遍历右子树. 前序遍历的结果是:AB ...
- C++用类实现二叉树的创建,前序中序后序遍历(附完整代码)
C++用类实现二叉树的创建,前序中序后序遍历(附完整代码) 前序.中序.后序遍历 直接上代码 前序.中序.后序遍历 二叉树的遍历分为前序遍历,中序遍历和后序遍历三种遍历方法.前序遍历的顺序为" ...
- 二叉树前序中序后续线索树_二叉树的先序,中序,后序遍历以及线索二叉树的遍历...
二叉树的先序,中序,后序遍历以及线索二叉树的遍历 (2008-05-04 17:52:49) 标签: 杂谈 C++ 二叉树的先序,中序,后序遍历以及线索二叉树的遍历 头文件 //*********** ...
- 用前序中序创建二叉树(用中序后序创建二叉树)
定义二叉树结点 比如就拿这个二叉树 前序中序创建 因为前序遍历的顺序是 根 , 左 ,右. 中序的遍历是 左 根 右. 我们会很不好想,但我们可以用前序和中序把上面那个二叉树的遍历一边 前序遍历:AB ...
- java中二叉树_Java工程师面试1000题224-递归非递归实现二叉树前、中、后序遍历...
224.使用递归和非递归实现二叉树的前.中.后序遍历 使用递归来实现二叉树的前.中.后序遍历比较简单,直接给出代码,我们重点讨论非递归的实现. class Node { public int valu ...
- 二叉树的深度(前序 中序 后序 递归非递归搜素)、广度、搜索 C++
a b c 使用 1 2 3 表示 /* 描述:二叉树的深度(前序 中序 后序 递归非递归搜素).广度.搜索 作者:jz 日期:20140819 */ #include<stdio.h> ...
- 树的先序/中序/后序遍历
树的结构如下: 先序(深度搜索遍历DFS):先顶点,再左边节点,接着右边节点 前序结果:ABDEHICFG 中序:先左边节点,再顶点,最后右边节点 中序结果:DBHEIAFCG 后序:先左边节点,然后 ...
最新文章
- 企业架构研究总结(39)——TOGAF架构能力框架之架构委员会和架构合规性
- Mac安装MySql 5.7.11
- 【Android RTMP】音频数据采集编码 ( AAC 音频格式解析 | FLV 音频数据标签解析 | AAC 音频数据标签头 | 音频解码配置信息 )
- leetcode_longest substring without repeating characters
- Nginx502,504和499错误解决方案
- 聚焦业务价值:分众传媒在 Serverless 上的探索和实践
- Annaconda环境下查询Python 第3方包的版本号
- 【Tensorflow】深度学习实战03——Tensorflow实现AlexNet
- cept源代码目录结构详解_知识树(转)
- Kubernetes部署项目报错ImagePullBackOff日志提示rpc error: code..http: server gave HTTP response to HTTPS client
- C++引用之引用的使用
- 集成Slice2Java插件
- excel 地级市名单_“excel随机抽取名单“谁有全国行政区划列表(EXCEL版且含省市县乡)?...
- 最新ECSHOP解闷商城系统+休闲娱乐EC购物商城源码
- PostgreSQL查询优化器详解(逻辑优化篇)
- CAD绘制带角度的矩形阵列
- 明日复明日,明日何其多;我生待明日,万事成蹉跎
- php执行fastlane,Fastlane的使用及进阶
- APM的3DR无线数传的安装
- AI助力黑客,下一代防火墙将力不从心