一道困扰我的算法设计题:返回二叉树先序遍历中最后一个结点的指针。要求非递归且不用栈
迪丽瓦拉
2025-03-03 20:08:01
0次
一道困扰我的算法设计题:返回二叉树先序遍历中最后一个结点的指针。要求非递归且不用栈能具体写出算法最好,跪谢!!
这道题目是不用遍历的
p=T;
while(1)
{
if(p->rchild)//如果有右孩子,右孩子肯定在先序序列中当前节点之后(如果再有左孩子,右孩子也在整个左子树之后)
p=p->rchild;
else if(p->lchild)//如果无右孩子,但有左孩子,左孩子肯定在先序序列中当前节点之后
p=p->lchild;
else//左右皆无,就是最后一个
break;
}
return p;
相关内容