题目描述

实现树的前序,中序,后序遍历

解决

前序和后序用的比较少,直接用递归了,中序用的比较多,用两种实现方式
树的节点

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

三种遍历

public class Solution {public List<Integer> list = new ArrayList<>();//1.前序遍历public void preorder(TreeNode root){if(root != null){list.add(root.val);preorder(root.left);preorder(root.right);}}//2.1中序遍历,递归实现public void inorder1(TreeNode root){if(root != null){inorder(root.left);list.add(root.val);inorder(root.right);}}//2.2迭代和栈实现public void inorder(TreeNode root){Stack<TreeNode> stack = new Stack<>();while (root != null || !stack.empty()){while(root != null){stack.push(root);root = root.left;}root = stack.pop();list.add(root.val);root = root.right;}}//3.后序遍历public void backorder(TreeNode root){if(root != null){backorder(root.left);backorder(root.right);list.add(root.val);}}
}

树的遍历(Java)相关推荐

  1. java swing 遍历,关于java swing 无限级树的遍历问题

    关于java swing 无限级树的遍历问题 更多相关问题 患者,女,20岁.每遇生气后即咳逆阵作,口苦咽干,胸胁胀痛,咳时面赤,舌红苔薄黄,脉弦数.其证候是A. 患者,男,60岁.有长期饮酒史.现症 ...

  2. LeetCode 589. N-ary Tree Preorder Traversal-多子节点树前序遍历--递归,迭代--反向压栈--C++解法

    LeetCode 589. N-ary Tree Preorder Traversal-多子节点树前序遍历–递归,迭代–反向压栈–C++解法 LeetCode题解专栏:LeetCode题解 LeetC ...

  3. 数据结构思维 第六章 树的遍历

    第六章 树的遍历 原文:Chapter 6 Tree traversal 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 本章将介绍一个 Web 搜索引擎,我们将在本书其余部分开 ...

  4. python作者 google面试_如果Google面试让你用python写一个树的遍历程序

    前几天忽然对python很感兴趣,学了几天也感觉它非常的简洁实用.打破了我这么长时间对java C# C 和vb的审美疲劳,让我眼前一亮."就像读英文一样简单"这句话评价pytho ...

  5. 【每日一题】Leetcode 刷题 二叉树-树的遍历 介绍

    二叉树-树的遍历 前序遍历 (根 左 右) 中序遍历 (左 根 右) 后序遍历 (左 右 根) 代码实现 前序遍历 中序遍历 后序遍历 完整代码 前序遍历 (根 左 右) 遍历顺序分别为: F B A ...

  6. DFS(深度搜索)无向图遍历(JAVA手把手深入解析)

    DFS(深度搜索)无向图遍历(JAVA手把手深入解析) 目录 DFS(深度搜索)无向图遍历(JAVA手把手深入解析) 前言 DFS深度优先 无向图 DFS全局变量定义 1.节点 2.节点数 3.根据图 ...

  7. 【数据结构】初入数据结构的树(Tree)以及Java代码实现(一)

    初入数据结构的树(Tree)以及Java代码实现(一) 树的定义 为什么叫树? 树型结构的元素具有一对多关系 树的定义 树的一些基本概念 树的结点 后代,祖先 子树.空树 树的度与高(深度),结点的度 ...

  8. 二叉树的层级遍历/锯齿遍历--Java版

    二叉树的层级遍历/锯齿遍历--Java版 前言 题目 解题思路/知识点 showCode 创建节点对象 创建树对象 创建测试类 层序遍历 锯齿遍历 题目 解体思路 源码(测试类) 结语 前言 今天在力 ...

  9. 树的遍历(中序,前序,后序)

    与只有一种逻辑遍历它们的线性数据结构(数组.链表.队列.堆栈等)不同,树可以以不同的方式遍历,常见的有中序遍历,前序遍历和后序遍历. 实现各种遍历的方法又包括: 以上图为例: 深度优先遍历:  (a) ...

最新文章

  1. centos7.2安装mysql
  2. 可视化深度学习模型的训练误差和验证误差
  3. 【翻译】基于 Create React App路由4.0的异步组件加载(Code Splitting)
  4. 翻译:如何用Cocos2d来开发简单的IPhone游戏教程
  5. Qt::WA_TransparentForMouseEvents用法
  6. 清北学堂模拟赛d6t4 数组异或
  7. go使用redis——redigo使用HMSET存储结构体
  8. Dubbo源码解析-Dubbo协议解析
  9. VirtualBox下安装Windows Server 2008
  10. iOS AppStore Search optimize【 ASO项目使用的技术】之切换IP(基于CFRunLoopDoSources0自定义Operation执行切换IP任务)
  11. js国际区号json
  12. 共享打印机服务器脱机状态,共享打印机脱机无法打印
  13. 小型机 PC服务器 性能,pc服务器小型机
  14. 人工智能Java SDK:声纹识别
  15. 莫纳什计算机专业强吗,2020年莫纳什大学计算机科学专业好不好
  16. Java虚拟机(四)—— Java虚拟机中的对象
  17. 基于java(springboot)校园新闻管理系统源码(java毕业设计)
  18. win10无线投屏_miracast投屏的未来
  19. 有力度、有速度更有温度,亚马逊献上史上最长黑五狂欢季
  20. 装完某些软件之后IE主页被https://www.hao123.com/?tn=93453552_hao_pg劫持

热门文章

  1. 域自适应的理解(简单易懂)
  2. JAVA——jdk8的下载与安装,win10下配置JDK环境变量
  3. 上拉刷新下拉加载的实现
  4. oracle 用户的登录,授权,传递授权操作
  5. GitLab CI Pipeline
  6. [a, b]均匀分布方差
  7. windows网站操作系统管理【1】
  8. Pytorch 安装(CPU)
  9. Hexo博客icarus主题定制篇
  10. yiui易柚7 是Android什么版本,康佳YIUI易柚操作系统