码迷,mamicode.com
首页 > 其他好文 > 详细

[剑指offer]二叉树的下一个结点

时间:2019-10-12 11:01:37      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:sub   二叉树   describe   遍历   题目   val   tps   off   描述   

题目描述

给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。
 
 
 
题目链接:
 
 
 
 
package com.sunshine.OFFER66_SECOND;

import org.junit.Test;

public class A57_GetNext {

    @Test
    public void test() {
        TreeLinkNode n1 = new TreeLinkNode(1);
        TreeLinkNode n2 = new TreeLinkNode(2);
        TreeLinkNode n3 = new TreeLinkNode(3);
        TreeLinkNode n4 = new TreeLinkNode(4);
        TreeLinkNode n5 = new TreeLinkNode(5);
        TreeLinkNode n6 = new TreeLinkNode(6);
        TreeLinkNode n7 = new TreeLinkNode(7);
        n1.left = n2;
        n1.right = n3;
        n2.next = n1;
        n2.left = n4;
        n2.right = n5;
        n3.next = n1;
        n3.left = n6;
        n3.right = n7;
        n4.next = n2;
        n5.next = n2;
        n6.next = n3;
        n7.next = n3;
        TreeLinkNode treeLinkNode = GetNext(n7);
        System.out.println(null==treeLinkNode?"null":treeLinkNode.val);
    }

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

 

[剑指offer]二叉树的下一个结点

标签:sub   二叉树   describe   遍历   题目   val   tps   off   描述   

原文地址:https://www.cnblogs.com/MoonBeautiful/p/11659952.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!