LeetCode每日一题 (47)144. 二叉树的前序遍历

144. 二叉树的前序遍历


在这里插入图片描述


非递归:

1class Solution { 2 3 4 5public: 6 vector<int> preorderTraversal(TreeNode* root) { 7 8 9 10 vector<int> result; 11 TreeNode *p=root; 12 stack<TreeNode*> S; 13 while(p!=nullptr || !S.empty()){ 14 15 16 17 if(p!=nullptr){ 18 19 20 21 result.push_back(p->val); 22 S.push(p); 23 p=p->left; 24 } 25 else{ 26 27 28 29 p=S.top(); 30 S.pop(); 31 p=p->right; 32 } 33 } 34 return result; 35 } 36};

在这里插入图片描述


递归:

1class Solution { 2 3 4 5public: 6 vector<int> preorderTraversal(TreeNode* root) { 7 8 9 10 vector<int> result; 11 if(root==nullptr) return result; 12 result.push_back(root->val); 13 vector<int> temp; 14 temp=preorderTraversal(root->left); 15 result.insert(result.end(),temp.begin(),temp.end()); 16 temp=preorderTraversal(root->right); 17 result.insert(result.end(),temp.begin(),temp.end()); 18 return result; 19 } 20};

在这里插入图片描述


本文同步分享在 博客“战 胜”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

Opencv中Mat矩阵相乘——点乘、dot、mul运算详解

Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593

Java实现二叉树的前序、中序、后序、层序遍历(非递归方法)

Java实现二叉树的前序、中序、后序、层序遍历(非递归方法)(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.cnblogs.com%2Fliuyang0%2Fp%2F6271331.html)