时间复杂度O(logn)

public static int getPower(int k, int N) {
        if(N==0)
            return  1;
        long temp = k;
        long res = 1;
        for(int i=N;i>0;){
            if((i&1)!=0){
                res *=temp;
            }
            temp =(temp * temp)%1000000007;
            res = res %1000000007;
            i = i>> 1;
        }
        return (int)res;
    }