LeetCode 之二叉树中序遍历(使用栈实现)

1、题目描述

LeetCode 之二叉树中序遍历(使用栈实现)

2、使用栈实现难度大于使用递归实现

3、代码

 vector<int> inorderTraversal(TreeNode* root) {
// 非递归实现,借助栈
vector<int> ans;
if( root == NULL)
return ans; stack< const TreeNode *> s;
const TreeNode* p = root; while( !s.empty() || p != NULL )
{
if( p != NULL )
{
s.push(p);
p = p->left;
}
else
{
p = s.top();
s.pop();
ans.push_back( p->val );
p = p->right;
} } return ans;
上一篇:用nodejs 开发的智能提示


下一篇:Map/Reduce应用开发基础知识-摘录