剑指offer-二叉树的下一个结点
Posted 月半榨菜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer-二叉树的下一个结点相关的知识,希望对你有一定的参考价值。
题目描述
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。
若结点存在右孩子,则右孩子的最坐下结点为中序遍历下一个结点
若没有右孩子,则该结点为祖先的左子树最右下结点的最近的一个祖先,为下一个结点
public TreeLinkNode GetNext(TreeLinkNode pNode) {//树 my if(null==pNode){ return null; } TreeLinkNode cur = pNode.right; if(cur!=null){ while(cur.left!=null){ cur = cur.left; } return cur; } TreeLinkNode pre = pNode.next; cur = pNode; while(null!=pre){ if(pre.right!=cur){ return pre; } else{ cur = pre; pre = pre.next; } } return null; }
以上是关于剑指offer-二叉树的下一个结点的主要内容,如果未能解决你的问题,请参考以下文章