All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0201_0300.s0231_power_of_two.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g0201_0300.s0231_power_of_two;

// #Easy #Math #Bit_Manipulation #Recursion #Algorithm_I_Day_13_Bit_Manipulation
// #2022_07_04_Time_1_ms_(100.00%)_Space_39.6_MB_(90.19%)

/**
 * 231 - Power of Two\.
 *
 * Easy
 *
 * Given an integer `n`, return _`true` if it is a power of two. Otherwise, return `false`_.
 *
 * An integer `n` is a power of two, if there exists an integer `x` such that n == 2x.
 *
 * **Example 1:**
 *
 * **Input:** n = 1
 *
 * **Output:** true
 *
 * **Explanation:** 20 = 1 
 *
 * **Example 2:**
 *
 * **Input:** n = 16
 *
 * **Output:** true
 *
 * **Explanation:** 24 = 16 
 *
 * **Example 3:**
 *
 * **Input:** n = 3
 *
 * **Output:** false 
 *
 * **Example 4:**
 *
 * **Input:** n = 4
 *
 * **Output:** true 
 *
 * **Example 5:**
 *
 * **Input:** n = 5
 *
 * **Output:** false 
 *
 * **Constraints:**
 *
 * *   -231 <= n <= 231 - 1
 *
 * **Follow up:** Could you solve it without loops/recursion?
**/
public class Solution {
    public boolean isPowerOfTwo(int n) {
        if (n <= 0) {
            return false;
        }
        while (true) {
            if (n == 1) {
                return true;
            }
            if (n % 2 == 1) {
                return false;
            }
            n /= 2;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy