342. Power of Four

Given an integer n, return true if it is a power of four. Otherwise, return false.

An integer n is a power of four, if there exists an integer x such that n == 4x.

 

Example 1:

Input: n = 16
Output: true

Example 2:

Input: n = 5
Output: false

Example 3:

Input: n = 1
Output: true

 

Constraints:

  • -231 <= n <= 231 - 1

 

Follow up: Could you solve it without loops/recursion?

Rust Solution

struct Solution;

use std::i32;

impl Solution {
    fn is_power_of_four(mut n: i32) -> bool {
        while n != 0 && n % 4 == 0 {
            n /= 4;
        }
        n == 1
    }
}

#[test]
fn test() {
    assert_eq!(Solution::is_power_of_four(16), true);
}

Having problems with this solution? Click here to submit an issue on github.