why does it work unexpectedly ?
Please show me my mistake , for negative inputs , it does not output an expected value . class Solution { public: double myPow(double x, int n) { if(n==0){ return 1; } else if(n>0){ if(n%2==0){ double number = myPow(x,n/2); return number*number; } else{ double number = myPow(x,n/2); return x*number*number; } } else if(n<0) { if(n == -1){ return 1/x; } else{ double number = myPow(x,n/2); double r = 1/number; double r_x = 1/x; double res = r*r; double otherwise = r_x*res; if(n%2==0){ return res; } else{ return otherwise; } } } } };