[leetcode] 94.Binary Tree Inorder Traversal
来源:互联网 发布:mysql数据库备份还原 编辑:程序博客网 时间:2024/05/21 17:00
题目:
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].
题意:
给定一棵二叉树,对其进行中序遍历。使用递归的方法的话比较简单,只要先递归遍历左子树再访问根节点,再递归遍历右子树。
本文使用非递归的方法。使用栈存储节点。当要访问某个节点的时候先要将其左子树的的所有节点访问完,我们将该节点以及其所有左孩子,左孩子的左孩子,一直到没有左孩子为止,加入到栈中。此时栈顶的元素没有左孩子了,那么接下来应该就访问栈顶的元素,访问完之后,将当前节点改为栈顶的元素的右孩子,并将栈顶这个已经访问的元素出栈。对右孩子依旧采用将所有的做节点压入栈,然后循环这个操作。
以上。
代码如下:
/** * 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) { stack<TreeNode*> s; TreeNode* p = root; vector<int> result; while(!s.empty() || p != NULL) { while(p != NULL) { s.push(p); p = p->left; } if(!s.empty()) { p = s.top(); s.pop(); result.push_back(p->val); p = p->right; } } return result; }};
0 0
- LeetCode 94. Binary Tree Inorder Traversal
- [LeetCode]94.Binary Tree Inorder Traversal
- 94. Binary Tree Inorder Traversal Leetcode Python
- [Leetcode] 94. Binary Tree Inorder Traversal
- LeetCode --- 94. Binary Tree Inorder Traversal
- LeetCode 94. Binary Tree Inorder Traversal
- [leetcode] 94.Binary Tree Inorder Traversal
- 94. Binary Tree Inorder Traversal LeetCode
- LeetCode 94. Binary Tree Inorder Traversal
- *LeetCode 94. Binary Tree Inorder Traversal
- [LeetCode]94. Binary Tree Inorder Traversal
- [LeetCode]94. Binary Tree Inorder Traversal
- 【LeetCode】94. Binary Tree Inorder Traversal
- leetcode 94. Binary Tree Inorder Traversal
- leetcode 94. Binary Tree Inorder Traversal
- LeetCode *** 94. Binary Tree Inorder Traversal
- LeetCode-94.Binary Tree Inorder Traversal
- LeetCode 94. Binary Tree Inorder Traversal
- 函数调用方式小结
- 【JavaScript】--原型
- linux动态库(二)
- IEEE 802.11ac 无线协议
- arm-linux-gdb+gdbserver环境搭建以及远程调试 及调试core文件
- [leetcode] 94.Binary Tree Inorder Traversal
- hdu 5120
- OpenVPN
- LXC1.0.7-- lxc-start 源码分析 01
- tinyxml编译学习笔记
- Android上下文菜单,长按出现的菜单
- 153. Find Minimum in Rotated Sorted Array
- Android Studio 开发常用快捷键
- 短信AZDG加密