0%

leetcode 50 Solution

代码解析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.demo.s50;

/**
* Pow(x, n)
* 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。
*/
public class Solution {
public double myPow(double x, int n) {
//基数
double base = x;
//判断n 小于0 基数特殊处理
if(n < 0) {
base = 1/x;
}
double ans = 1;
//循环
while(n != 0) {
//奇数次
if (n % 2 != 0) {
ans = ans * base;
}

base = base * base;
n = n/2;
}
return ans;
}
}