剑指offer---数值的整数次方(Java)

题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

保证base和exponent不同时为0

解题思路

在这里插入图片描述
注意result用double,别用int,首先牛客用2,-3来检测,博主检查半天才发现。。。。

运行代码

public class Solution {
    public double Power(double base, int exponent) {
        int tmp = exponent;
        double result = 1;
         if(exponent == 0){
            return 1;
        }else if(exponent < 0){
            tmp = exponent;
            exponent = -tmp;
        }
        while(exponent!=0){
            if((exponent&1)==1){
                result *= base;
            }
            base *=base;
            exponent>>=1;
        }
        return tmp>=0?result:(1/result);
  }
}

效果截图

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章