leetcode326题 题解 翻译 C语言版 Python版

来源:互联网 发布:怎么查找网络打印机 编辑:程序博客网 时间:2024/06/06 15:37

326. Power of Three

Given an integer, write a function to determine if it is a power of three.

Follow up:
Could you do it without using any loop / recursion?

326.3的幂

给定一个整数,写一个函数来判断它是不是3的幂

进一步的:

你能不用任何循环和递归解决它吗?


思路:判断一个数是不是3的幂只需要不断地除以3即可,只要出现除不通的情况就判断为不是3的幂,如果能一直除到商为1,则它是3的幂。


bool isPowerOfThree(int n) {    if (n < 1) return false;    if (n == 1) return true;    while (n > 1){        if (n%3) return false;        n /= 3;    }    return true;}

class Solution(object):    def isPowerOfThree(self, n):        """        :type n: int        :rtype: bool        """        if n < 1: return False        if n == 1: return True        while n > 1:            if n % 3: return False            n /= 3        return True


0 0
原创粉丝点击