博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
牛客网 | 高频面试题 | 实现二叉树先序,中序和后序遍历
阅读量:4141 次
发布时间:2019-05-25

本文共 1904 字,大约阅读时间需要 6 分钟。

文章目录

题目

题目描述	分别按照二叉树先序,中序和后序打印所有的节点。示例1	输入		{
1,2,3} 返回值 [[1,2,3],[2,1,3],[2,3,1]]

解析

三次获取三种序列

/** * 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
> threeOrders(TreeNode* root) {
// write code here vector
> res; if(root==nullptr)return res; vector
preorder,inorder,postorder; preorder_traversal(preorder,root); inorder_traversal(inorder,root); postorder_traversal(postorder,root); res.push_back(preorder); res.push_back(inorder); res.push_back(postorder); return res; } void preorder_traversal(vector
& v,TreeNode* root){ if(root==nullptr)return; v.push_back(root->val); preorder_traversal(v, root->left); preorder_traversal(v, root->right); } void inorder_traversal(vector
& v,TreeNode* root){ if(root==nullptr)return; inorder_traversal(v, root->left); v.push_back(root->val); inorder_traversal(v, root->right); } void postorder_traversal(vector
& v,TreeNode* root){ if(root==nullptr)return; postorder_traversal(v, root->left); postorder_traversal(v, root->right); v.push_back(root->val); } };

一次获取三种序列

class Solution {
public: void threeOrders(TreeNode* root, vector
> &vect){
if(!root) return; vect[0].push_back(root->val); threeOrders(root->left,vect); vect[1].push_back(root->val); threeOrders(root->right,vect); vect[2].push_back(root->val); } vector
> threeOrders(TreeNode* root) {
vector
> vect = { { },{ },{ }}; threeOrders(root,vect); return vect; }};

转载地址:http://mzevi.baihongyu.com/

你可能感兴趣的文章
css中的IFC
查看>>
CentOS 6.5下 mysql用户root登录不了
查看>>
windows + tomcat 部署web服务 http 改为https访问方法
查看>>
Windows系统下Apache 服务器启动以及过程中产生问题的解决办法
查看>>
Oracle服务说明
查看>>
异常收集(三):Missing artifact com.oracle:ojdbc6:jar:1.0 两种解决方案
查看>>
异常收集(四):Plugin execution not covered by lifecycle configuration
查看>>
异常收集(五):Io 异常: The Network Adapter could not establish the connection
查看>>
JSP中的转义字符
查看>>
SQLException: The user specified as a definer ('root'@'%') does not exist
查看>>
Linux 操作指令收集
查看>>
CentOS 7下卸载MySQL方式(转)
查看>>
CentOS7 安装MySQL 5.6.43
查看>>
使用Java 导入/导出 Excel ----Jakarta POI
查看>>
本地tomcat 服务器内存不足
查看>>
IntelliJ IDAE 2018.2 汉化
查看>>
基于S5PV210的uboot移植中遇到的若干问题记录(一)DM9000网卡移植
查看>>
Openwrt源码下载与编译
查看>>
我和ip_conntrack不得不说的一些事
查看>>
Linux 查看端口使用情况
查看>>