LintCode_69 二叉树前序遍历

题目

给出一棵二叉树,返回其节点值的前序遍历。

和中序遍历基本相同

C++代码

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

  

posted @ 2016-05-01 13:32  红岸的电波  阅读(128)  评论(0编辑  收藏  举报