1. 程式人生 > >面試題:二叉樹的下一個節點

面試題:二叉樹的下一個節點

ret 試題 tree link 同時 pre lin 下一個 color

題目描述:給定一個二叉樹和其中的一個結點,請找出中序遍歷順序的下一個結點並且返回。註意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指針。

思路:

//包含指向父節點的指針
//node.next  node.left node.right
public class Solution {
    public TreeLinkNode GetNext(TreeLinkNode node){
        if(node==null) return null;
        //如果有又子樹,則返回又子樹的最左邊節點
        if(node.right!=null){
            node
=node.right; while(node.left!=null){ node=node.left; } return node; } //如果沒有又子樹 返回當前父節點是左子樹的節點 while(node.next!=null&&node!=node.next.left){ node=node.next; } return node.next; } }

面試題:二叉樹的下一個節點