LintCode_67 二叉树中序遍历

题目

给出一棵二叉树,返回其中序遍历

 

C++

非递归

vector<int> inorderTraversal(TreeNode *root) {
    // write your code here
    vector<int> vec;
    stack<TreeNode*> s;
    TreeNode* p;
    p = root;
    while (p || !s.empty())
    {
    	while(p)
    	{
    	    s.push(p);
    	    p = p->left;
    	}
    	p = s.top();
    	vec.push_back(p->val);
    	s.pop();
     p = p->right;
   }
   return vec;
}

  

posted @ 2016-04-30 17:26  红岸的电波  阅读(118)  评论(0编辑  收藏  举报