class For11Solution { func power(_ b: Double,_ e: Int) -> Double { var base = b var exponent = 0 if e > 0 { exponent = e }else if e < 0 { if base == 0 { return 0 //分母不能为0 } exponent = -e }else { return 1 } var res : Double = 1 while exponent != 0 { if exponent & 1 == 1 { res *= base } base *= base exponent = exponent>>1 } return e > 0 ? res : 1/res } }