坚持就是一天,又一天。你告诉自己,再坚持一天。
Implement pow(x, n).
二分思想。投了个巧,因为-INT_MIN = INT_MIN因此之前我先加了一个1.。
1234567891011121314151617181920212223242526
//C++class Solution {public: double pow(double x, int n) { if(n==0) return 1.0; int flag = 1; double ans = x; if(n<0){ n++; n = -n; flag = 0; } else{ n--; } while(n){ if(n&1) ans *= x; x*=x; n>>=1; } if(flag==0) ans = 1.0/ans; return ans; }};