import java.util.*;
/*
public class TreeLinkNode {
    int val;
    TreeLinkNode left = null;
    TreeLinkNode right = null;
    TreeLinkNode next = null;

    TreeLinkNode(int val) {
        this.val = val;
    }
}
*/
public class Solution {
    TreeLinkNode resNode = null;
    TreeLinkNode preNode = null;
    public TreeLinkNode GetNext(TreeLinkNode pNode) {
        TreeLinkNode root = pNode;
        while(root.next != null){
            root = root.next;
        }
        inOrder(root,pNode);
        return resNode;
    }
    private void inOrder(TreeLinkNode root,TreeLinkNode pNode){
        if(root == null){
            return;
        }
        inOrder(root.left,pNode);
        if(preNode!=null &&preNode == pNode){     
            resNode = root;
        }
        preNode = root;
        inOrder(root.right,pNode);
    }
}