public Node treeSuccessor(Node x)
    {
        if (x.getRight() != null)
        {
            //在x节点的右子树中寻找最小节点，即最左节点
            return treeMiniMum(x.getRight());
        }
        else
        {
            //没有右子树，向上找父节点
            while (x != null)
            {
                Node parent = x.getParent();
                //既没有右子树，也没有父节点，那么他就是最后的输出节点了
                if (parent == null)
                {
                    return null;
                }
                else
                {
                    if (x == parent.getLeft())
                    {
                        //如果是父节点的左子树，那么找到了
                        return parent;
                    }
                    else
                    {
                        x = parent.getParent();
                    }
                }
            }
            return null;
        }
        
    }