题目描述
https://leetcode-cn.com/problems/powx-n/
解
package main
func myPow(x float64, n int) float64 {
// 错误处理
if x == 0 {
return 0
}
if n == 0 || x == 1 {
return 1
}
if n < 0 {
x = 1 / x
n = -n
}
var r float64 = x
if n%2 != 1 {
r = 1
}
var t float64 = x
for n != 0 {
n = n >> 1
t = t * t
if (n)&1 == 1 {
r = r * t
}
}
return r
}
思路
开始使用的暴力解,不过暴力解没有过时间限制。现在这种使用位操作!
网友评论