TreeNode KthNode(TreeNode pRoot, int k) {
        //Morris遍历
        TreeNode tmp = pRoot;
        TreeNode res = null;
        int cnt = 0;
        while(tmp!=null){
            if(tmp.left!=null){
                //去到左边的最右节点
                TreeNode mostRight = tmp.left;
                while(mostRight.right!=null&&mostRight.right!=tmp){
                    mostRight = mostRight.right;
                }
                //第一次到就向左走
                if(mostRight.right==null){
                    mostRight.right = tmp;
                    tmp = tmp.left;
                    continue;
                }
                //第二次到
                if(++cnt==k){
                    res = tmp;
                }
                mostRight.right = null;
            }else{
                //第一次到
                //到最左节点肯定cnt为0
                if(++cnt==k){
                    res = tmp;
                }
            }
            tmp = tmp.right;
        }
        return res;
    }