LeetCode Everyday-- 94,144,145递归解法
2015-08-08 11:36
246 查看
Binary Tree Inorder Traversal
Given a binary tree, return the inorder traversal of its nodes’ values.For example:
Given binary tree {1,#,2,3},
1
\
2
/
3
return [1,3,2].
三个题目类似,我就放在一起,分别是树的先序遍历,中序遍历和后序遍历。递归解法是非常简单的,也可以AC。
但是题目中有一句话Note: Recursive solution is trivial, could you do it iteratively? 最近递归用多了,迭代都不会用了,有时间再想想迭代的方法。
[code]/** * 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<int> inorderTraversal(TreeNode* root) { vector<int> v; travel(root,v); return v; } private: void travel(TreeNode* root,vector<int> &v){ if(root == NULL){ return ; } //先序遍历 //v.push_back(root->val); travel(root->left,v); //中序遍历 v.push_back(root->val); travel(root->right,v); //后序遍历 //v.push_back(root->val); } };
相关文章推荐
- 机房收费系统颗粒大归仓之----调错冰山一角(二)
- 一淘搜索网页抓取系统的分析与实现(3)—scrapy+webkit & mysql+django
- <八>阅读<<大话设计模式>>该模型的外观
- XML 命名空间(XML Namespaces)
- 解决composer 下载错误
- ContentObserver简结
- lua 判断字符串中引号,括号是否平衡
- wordpress搭建个人博客总结
- WinObjC?这是什么鬼?
- XML 语法规则
- java容器类---Vector
- Java super关键字
- 232 - Implement Queue using Stacks
- echars
- 运放
- linux socket常用函数以及使用顺序
- 自定义java注解(三) 实现Junit中的@Test、@Before、@After
- 常用包
- I.MX6 HUAWEI MU609 3G porting
- telnet: Unable to connect to remote host: No route to host处理过程