p = T;
while(p)
{
while(p->left)
p = p->left;
Visit(p);
if(p->right)
p = p->right;
else
{
while(p->parent)
{
if(p->parent->left == p)
{
Visit(p->parent);
if(!p->parent->right)
p = p->parent;
else
{
p = p->parent->right;
break;
}
}
else
p = p->parent;
}
}
if(!p->parent)
p = p->parent;//p=null
}
parent指针非递归不用栈中序遍历二叉树
最新推荐文章于 2024-12-12 21:07:18 发布
本文深入探讨了一种用于遍历树结构的递归算法实现,详细解释了其核心逻辑、工作流程以及关键步骤,包括左子节点、右子节点的遍历和回溯操作,确保全面覆盖树中每个节点。
979

被折叠的 条评论
为什么被折叠?



