```/*function TreeLinkNode(x){
    this.val = x;
    this.left = null;
    this.right = null;
    this.next = null;
}*/
function GetNext(pNode)
{
    // write code here
    //1.暴力法,中序遍历,查找(写法略) 2.找规律
    
    if(pNode===null){return null}
    if(pNode.right){
        pNode=pNode.right
        while(pNode.left){
            pNode=pNode.left
        }
        return pNode //有右子树时,就是右子树的最左节点           
    }

    //没有右子树,则下一个节点是将父节点作为左节点的节点.
    while(pNode.next){ //如果父节点已经就是null,说明输入的是没有右子树的根节点,跳过下面的代码到返回null
    //判断当前节点是否为父节点的左节点,如果是下一个就是父节点。否则向上查找其父节点,直到该节点是父节点的左节点。
        if(pNode===pNode.next.left){return pNode.next} 
        pNode=pNode.next
    }
//如果查到根节点了,next是null。
    return null
    

}
module.exports = {
    GetNext : GetNext
};