美文网首页
二叉树的下一个节点

二叉树的下一个节点

作者: 稀饭粥95 | 来源:发表于2018-08-30 00:17 被阅读7次

    给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。

    public class Solution {
        public TreeLinkNode GetNext(TreeLinkNode pNode)
        {
            if(pNode.right!=null){
                TreeLinkNode right = pNode.right;
                while(right.left!=null){
                    right=right.left;
                }
                return right;
            }else if(pNode.next!=null){
               TreeLinkNode p = pNode.next;
               while(p!=null&&p.right==pNode){
                   pNode = p;
                   p = p.next;
               }
                return p;
            }else{
                return null;
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:二叉树的下一个节点

          本文链接:https://www.haomeiwen.com/subject/tsvlwftx.html