void _End(Node* Proot)
{
Node* cur = Proot;
Node* prev = nullptr;
stack<Node*> s;
while (cur || !s.empty())
{
while (cur)
{
s.push(cur);
cur = cur->left_;
}
Node* top = s.top();
//右树不为空
if (nullptr != top->right_ && prev != top->right_)
cur = top->right_;
//右树为空
else
{
cout << top->val_ << " ";
prev = top;
s.pop();
}
}
cout << endl;
}
二叉树非递归后序遍历(C++)
最新推荐文章于 2025-02-26 10:33:36 发布