leetcode- 实现二叉树先序,中序和后序遍历
1、题目
给定一棵二叉树,分别按照二叉树先序,中序和后序打印所有的节点。
数据范围:0≤n≤1000,树上每个节点的val值满足 0≤val≤100
要求:空间复杂度 O(n),时间复杂度O(n)。
例如:
输入:{1,2,3}
输出:[[1,2,3],[2,1,3],[2,3,1]]
2、思路
思路一:用递归的方法,先序:根左右, 中序:左根右,后序:左右根
3、代码
class Solution {public:/*** * @param root TreeNode类 the root of binary tree* @return int整型vector<vector<>>*/vector<int> m_preorder, m_midorder, m_lastorder;vector<vector<int> > res;vector<vector<int> > threeOrders(TreeNode* root) {// write code herepreorder(root);midorder(root);lastorder(root);res.push_back(m_preorder);res.push_back(m_midorder);res.push_back(m_lastorder);return res;}void preorder(TreeNode* root){if (!root) return;m_preorder.push_back(root->val);preorder(root->left);preorder(root->right);}void midorder(TreeNode* root){if (!root) return;midorder(root->left);m_midorder.push_back(root->val);midorder(root->right);}void lastorder(TreeNode* root){if (!root) return;lastorder(root->left);lastorder(root->right);m_lastorder.push_back(root->val);}
};```
leetcode- 实现二叉树先序,中序和后序遍历相关推荐
- [Leetcode][第889题][JAVA][根据前序和后序遍历构造二叉树][分治][递归]
[问题描述][中等] [解答思路] copyOfRange class Solution {public TreeNode constructFromPrePost(int[] pre, int[] ...
- PAT甲级1020变体:已知二叉树层序+中序序列,求后序遍历序列
PAT甲级1020变体:已知二叉树层序+中序序列,求后序遍历序列 题目 输入格式 输出格式 输入样例 输出样例 代码 题目 已知二叉树层序+中序序列,求后序遍历序列. 输入格式 第一行给出该二叉树的节 ...
- 二叉树的中序、前序、后序三种遍历图解
二叉树是算法中的重要概念,现将中序.前序.后序三种遍历图解如下: ***站里很多帖子讲到三种遍历的顺序是逐一开展的,但是我感觉同级遍历应该是同时开展的,不知道对不对,请大牛指教~~
- 已知满二叉树先序序列如何求后序序列
如题 自用笔记 如有错误欢迎及时指正 面对仅仅知道先序序列(DLR)求后序序列(LRD),首先想到的是不可能,若对一般的二叉树而言确实无法做到,但是满二叉树的特殊性使得该命题成立!下面给出本文所用例子 ...
- 树的遍历(中序,前序,后序)
与只有一种逻辑遍历它们的线性数据结构(数组.链表.队列.堆栈等)不同,树可以以不同的方式遍历,常见的有中序遍历,前序遍历和后序遍历. 实现各种遍历的方法又包括: 以上图为例: 深度优先遍历: (a) ...
- LeetCode根据前序与中序、中序与后序,前序与后序遍历序列构建二叉树
根据前序与中序遍历序列构建二叉树 LeetCode题目来源 1.1 题目描述 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是 ...
- 二叉树的先序线索化、中序线索化、后序线索化的对比
有一点需要注意:在先序遍历一个节点的左子树时,需要判断其ltag的值是否为0,如果为0可以正常遍历,但是,如果为1就不能进行遍历.因为ltag的值为1说明该结点的左指针指向的是它的前驱结点而不是左孩子 ...
- java二叉树合并_Java(树的前中后序遍历构造二叉树题型整合)前序和中序、中序和后序、前序和后序遍历序列构造二叉树算法整合归纳...
前言 二叉树各种花里胡哨的算法题真的把我搞晕了,今天特地整理出一类有关二叉树的算法题,希望能帮助阅读到此文章的人,今后不再受此类题型的困扰. 一.题目类型 已知二叉树的两种遍历序列,请根据该序列构建二 ...
- 已知二叉树先序序列和中序序列,求后序序列
回答了百度知道上的一个提问,原题是这样的: 当一棵二叉树前序序列和中序序列分别为HGEDBFCA和EGBDHFAC时,其后序序列为什么?当一棵二叉树前序序列和中序序列分别为HGEDBFCA和EGBDH ...
- [LeetCode] N-ary Tree Postorder Traversal N叉树的后序遍历
Given an n-ary tree, return the postorder traversal of its nodes' values. For example, given a 3-ary ...
最新文章
- poj2352(树状数组)
- 洛谷P1265 公路修建
- PowerDesigner 手记
- 从零开始学_JavaScript_系列(21)——dojo(8)(手把手教你封装一个widget)
- Theano 中文文档 0.9 - 5. 安装Theano
- 电脑是个神奇的东西!
- 使用「Bartender」创建简洁的Mac菜单栏
- 吴恩达机器学习作业一
- A(AI)、B(BigData)、C(Cloud)通俗介绍
- 金融科技之能量守恒定律
- 计算机设计大赛感言,平面设计大赛获奖感言
- “cp: 略过目录 “问题
- 通用管理平台GBase 8c Platform
- r语言做绘制精美pcoa图_科学网—R语言 PCA PCoA ggplot2 - 靳泽星的博文
- 色调映射:Edge-Preserving Decompositions for Multi-Scale Tone and Detail Manipulation
- CentOS上使用docker安装redis
- Java学习笔记(22)Developing Efficient Algorithms
- yapi与rap2比较
- 【python】Python通过unrar库实现解压rar文件
- 中本聪是个贪婪的矿工吗?