public TreeLinkNode GetNext(TreeLinkNode pNode)
{ if(pNode==null)
return null;
//(1)如果有右子树,找当前节点右子树的最左节点
if(pNode.right!=null)
{
pNode=pNode.right;
while(pNode.left!=null)
pNode=pNode.left;
return pNode;
}
//没有右子树,则找第一个当前节点是父节点左孩子的节点
while(pNode.next!=null){
if(pNode.next.left==pNode)
return pNode.next;
pNode=pNode.next;
}
//遇到根节点,则没有找到
return null;
}
二叉树中序遍历的下一个结点
最新推荐文章于 2022-03-10 22:44:21 发布