标签:api tco 网络 转换 match 输出 leetcode 商业 次方
给定一个整数,写一个函数来判断它是否是 3 的幂次方。
示例 1:
输入: 27
输出: true
示例 2:
输入: 0
输出: false
示例 3:
输入: 9
输出: true
示例 4:
输入: 45
输出: false
进阶:
你能不使用循环或者递归来完成本题吗?
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/power-of-three
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
public boolean isPowerOfThree(int n) {
// 计算发现规律:3的幂一定以3/9/7/1结尾
if(n % 10 != 3 && n % 10 != 9 && n % 10 != 7 && n % 10 != 1) {
return false;
}
while (n % 3 == 0) {
n = n / 3;
}
return n == 1;
}
public boolean isPowerOfThree(int n) {
// 基准转换,调用API,比较慢
return Integer.toString(n, 3).matches("^10*$");
}
public boolean isPowerOfThree(int n) {
return n > 0 && 1162261467 % n == 0;
}
标签:api tco 网络 转换 match 输出 leetcode 商业 次方
原文地址:https://www.cnblogs.com/angelica-duhurica/p/12238371.html