博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 145 Binary Tree Postorder Traversal(二叉树的后续遍历)+(二叉树、迭代)
阅读量:6156 次
发布时间:2019-06-21

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

版权声明:转载请联系本人,感谢配合!本站地址:http://blog.csdn.net/nomasp https://blog.csdn.net/NoMasp/article/details/50933610

翻译

给定一个二叉树,返回其后续遍历的节点的值。例如:给定二叉树为 {
1, #, 2, 3} 1 \ 2 / 3返回 [3, 2, 1]备注:用递归是微不足道的,你可以用迭代来完成它吗?

原文

Given a binary tree, return the postorder traversal of its nodes' values.For example:Given binary tree {
1,#,2,3}, 1 \ 2 / 3return [3,2,1].Note: Recursive solution is trivial, could you do it iteratively?

分析

直接上代码……

vector
postorderTraversal(TreeNode* root) { if (root != NULL) { postorderTraversal(root->left); postorderTraversal(root->right); v.push_back(root->val); } return v;}
/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/class Solution {public:         vector
v; void postorderTraversalIter(TreeNode *root, stack
&stac) { if (root == NULL) return; bool hasLeft = root->left != NULL; bool hasRight = root->right != NULL; stac.push(root); if (hasRight) stac.push(root->right); if (hasLeft) stac.push(root->left); if (!hasLeft && !hasRight) v.push_back(root->val); if (hasLeft) { root = stac.top(); stac.pop(); postorderTraversalIter(root, stac); } if (hasRight) { root = stac.top(); stac.pop(); postorderTraversalIter(root, stac); } if (hasLeft || hasRight) v.push_back(stac.top()->val); stac.pop(); } vector
postorderTraversal(TreeNode* root) { stack
stac; postorderTraversalIter(root, stac); return v; } };

另有两道类似的题目:

你可能感兴趣的文章
怎样关闭“粘滞键”?
查看>>
[转]React 教程
查看>>
拓扑排序介绍
查看>>
eclipse打开工作空间(workspace)没有任务反应
查看>>
使用Sybmol模块来构建神经网络
查看>>
字符串去分割符号
查看>>
WPF中,多key值绑定问题,一个key绑定一个界面上的对象
查看>>
UML类图简明教程
查看>>
java反编译工具(Java Decompiler)
查看>>
Android开发之自定义对话框
查看>>
微信Access Token 缓存方法
查看>>
Eclipsed的SVN插件不能识别之前工作空间的项目
查看>>
Linux 查看iptables状态-重启
查看>>
amazeui学习笔记一(开始使用2)--布局示例layouts
查看>>
c#中lock的使用(用于预约超出限额的流程)
查看>>
ODI基于源表时间戳字段获取增量数据
查看>>
并发容器之CopyOnWriteArrayList(转载)
查看>>
什么是AAC音频格式 AAC-LC 和 AAC-HE的区别是什么
查看>>
原创:goldengate从11.2升级到12.1.2
查看>>
Quartz
查看>>