牛客题霸 [ 实现二叉树先序,中序和后序遍历]C++题解/答案

题目描述

分别按照二叉树先序,中序和后序打印所有的节点。

题解:

先序,中序,后序都是按照各自规律的
先序的遍历顺序是中前后
中序是前中后
后序是前后中
这个决定了递归的顺序
比如先序:
先存当前节点
然后遍历左子树
最后遍历右子树
中序:
先遍历左子树
保存节点
再遍历右子树

代码:

/*** struct TreeNode {*  int val;*   struct TreeNode *left;* struct TreeNode *right;* };*/class Solution {public:/*** * @param root TreeNode类 the root of binary tree* @return int整型vector<vector<>>*/        void Left(TreeNode* root,vector<int>& vec){if (root != nullptr) {vec.push_back(root->val);Left(root->left, vec);Left(root->right, vec);}}void Center(TreeNode* root, vector<int>& vec) {if (root != nullptr) {Center(root->left, vec);vec.push_back(root->val);Center(root->right, vec);}}void Right(TreeNode* root, vector<int>& vec) {if (root != nullptr) {Right(root->left, vec);Right(root->right, vec);vec.push_back(root->val);}}vector<vector<int> > threeOrders(TreeNode* root) {// write code herevector<vector<int>> output(3);Left(root, output[0]);Center(root, output[1]);Right(root, output[2]);return output;}
};

牛客题霸 [ 实现二叉树先序,中序和后序遍历]C++题解/答案相关推荐

  1. 牛客题霸 [输出二叉树的右视图] C++题解/答案

    牛客题霸 [输出二叉树的右视图] C++题解/答案 题目描述 请根据二叉树的前序遍历,中序遍历恢复二叉树,并打印出二叉树的右视图 题解: 分两个过程: 先用前序遍历+中序遍历恢复二叉树,这个应该都会. ...

  2. 牛客题霸 NC9 二叉树中是否存在节点和为指定值的路径

    https://www.nowcoder.com/practice/508378c0823c423baa723ce448cbfd0c 解决方案 Go func hasPathSum(root *Tre ...

  3. 牛客题霸 [ 求二叉树的层序遍历] C++题解/答案

    牛客题霸 [ 求二叉树的层序遍历] C++题解/答案 题目描述 给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 该 ...

  4. 牛客题霸 [ 在二叉树中找到两个节点的最近公共祖先] C++题解/答案

    牛客题霸 [ 在二叉树中找到两个节点的最近公共祖先] C++题解/答案 题目描述 给定一棵二叉树以及这棵树上的两个节点 o1 和 o2,请找到 o1 和 o2 的最近公共祖先节点. 题解: 我们想想最 ...

  5. 牛客题霸 [合并二叉树] C++题解/答案

    牛客题霸 [合并二叉树] C++题解/答案 题目描述 已知两颗二叉树,将它们合并成一颗二叉树.合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替.例如: 两颗二叉树是: ...

  6. 牛客题霸 [判断二叉树是否对称] C++题解/答案

    [牛客题霸 [判断二叉树是否对称] C++题解/答案](https://www.nowcoder.com/practice/1b0b7f371eae4204bc4a7570c84c2de1?tpId= ...

  7. 牛客题霸 [ 数字在升序数组中出现的次数] C++题解/答案

    牛客题霸 [ 数字在升序数组中出现的次数] C++题解/答案 题目描述 统计一个数字在升序数组中出现的次数. 题解: 直接for循环,if判断一下,如果是目标的话ant++ 代码: class Sol ...

  8. 牛客题霸 NC13 二叉树的最大深度

    https://www.nowcoder.com/practice/8a2b2bf6c19b4f23a9bdb9b233eefa73 解决方案 Go func maxDepth(root *TreeN ...

  9. 牛客题霸 NC8 二叉树根节点到叶子节点和为指定值的路径

    https://www.nowcoder.com/practice/840dd2dc4fbd4b2199cd48f2dadf930a 解决方案 Go var ans [][]int = make([] ...

最新文章

  1. Rocksdb 的优秀代码(二)-- 工业级 打点系统 实现分享
  2. Java项目:在线考试系统(单选,多选,判断,填空,简答题)(java+Springboot+ssm+mysql+html+maven)
  3. 售卖ssr_博人传148集:SSR鸣人卡牌受追捧,“金钱之术”重现,太子被盯上
  4. 做了5年Java,java文件下载代码
  5. zabbix学习笔记(4)
  6. rust(12)-闭包,闭包作为返回值,闭包作为参数
  7. k8s四种port解析:nodePort、port、targetPort、containerPort
  8. 飞龙的程序员书单 – Linux
  9. 1)Java JDK和JRE
  10. vue项目中常见问题及解决方案
  11. 实例讲解朴素贝叶斯分类器
  12. matlab求最大公约数和最小公倍数
  13. Maven下载及安装配置
  14. 基于PID控制的车辆LKA算法
  15. AI数学基础(1)--- 马尔可夫不等式
  16. 建行网银盾无法识别怎么办
  17. wpf实现类似word文档的标尺功能
  18. Taro 小程序开发大型实战(六):尝鲜微信小程序云(上篇)
  19. 旅行+社交APP功能需求分析
  20. 陈皓:什么是工程师文化?

热门文章

  1. 看完此文再不懂区块链算我输:手把手教你用Python从零开始创建区块链
  2. 数学家破解婚恋网站配对程序,90天找到灵魂伴侣
  3. 用java写注册表单_利用HTML表单标签编写一个注册页面
  4. python导包路径问题_python的导包问题
  5. 浮点数赋值给整数_初学者专题:变量和赋值
  6. jdbc连接mysql的语法_JDBC连接MySQL
  7. mac mysql 移动硬盘_MAC一些高能过程记录(一些没必要的坑)
  8. toast弹窗_Android 开发(一):Toast弹窗与获取控件的值
  9. python中abc属于字符串吗_在Python中,字符串s = 'abc',那么执行表达式s+'d'之后,s的打印结果是( )。...
  10. c++tcp接收文件缓存多大合适_网易面经:深剖TCP协议的流量控制和拥塞控制,你懂了吗?...