二叉树的下一个结点

Posted strive-19970713

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树的下一个结点相关的知识,希望对你有一定的参考价值。

题目描述

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

public class Main55 

	public static void main(String[] args) 
		// TODO Auto-generated method stub
		
	

	public class TreeLinkNode 
	    int val;
	    TreeLinkNode left = null;
	    TreeLinkNode right = null;
	    TreeLinkNode next = null;  // 这个 next 是 对应的父节点

	    TreeLinkNode(int val) 
	        this.val = val;
	    
	
	
	public TreeLinkNode GetNext(TreeLinkNode pNode)
		
		if (pNode == null) 
			return null;
		
		
		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;
    

  

以上是关于二叉树的下一个结点的主要内容,如果未能解决你的问题,请参考以下文章

二叉树的下一个结点

二叉树的下一个结点

二叉树的下一个结点

剑指offer面试题 8. 二叉树的下一个结点

二叉树的下一个结点

二叉树的下一个结点