www

导航

二叉树遍历(中序)

void PreOrder(TreeNode *root)
{
	TreeNode *p = root;
	stack<TreeNode*> s;
	while (!s.empty() || p)
	{
		while (p)
		{
			s.push(p);
			p = p->left;
		}

		if (!s.empty())
		{
			p = s.top();
			s.pop();
			cout << p->val << endl;
			p = p->right;
		}
	}
}

  

posted on 2017-09-18 16:35  www_practice  阅读(96)  评论(0编辑  收藏  举报