二叉树的中序遍历
2015-08-25 00:06
225 查看
给出一棵二叉树,返回其中序遍历
样例
给出二叉树
返回
样例
给出二叉树
{1,#,2,3},
1 \ 2 / 3
返回
[1,3,2].
/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int val) { * this->val = val; * this->left = this->right = NULL; * } * } */ class Solution { /** * @param root: The root of binary tree. * @return: Inorder in vector which contains node values. */ public: vector<int> inorderTraversal(TreeNode *root) { // write your code here vector<int> result; if (root == NULL) { return result; } stack<TreeNode*> values; values.push(root); TreeNode *last = NULL; while (!values.empty()) { TreeNode *top = values.top(); if (top->left != NULL) { if (top->left == last) { result.push_back(top->val); values.pop(); last = top; if (top->right != NULL) { values.push(top->right); } } else { values.push(top->left); } } else { result.push_back(top->val); values.pop(); last = top; if (top->right != NULL) { values.push(top->right); } } } return result; } };
相关文章推荐
- 每天五个java相关面试题(9)--java基础详解篇1
- 理解 Python 中的多线程
- hdoj 3342 Legal or Not
- HTTP报文详解
- 逻辑运算符与或
- hadoop学习笔记之Map-Reduce
- 状态模式
- Java序列化Serializable和Externalizable
- Java序列化Serializable和Externalizable
- Apache 服务器配置
- MCU实战经验:多种的按键处理
- UVA - 10779 Collectors Problem(最大流)
- Java序列化Serializable和Externalizable
- 08/23 总结
- HDU5396 Expressions(区间DP)
- 【C语言】预处理指令—文件包含
- 14个顶级开发社区
- XML解析
- 08/23 总结
- 使用Python的Bottle框架写一个简单的服务接口的示例