In this Leetcode Power of Two problem solution, you are 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.

Leetcode Power of Two problem solution


Problem solution in Python.

class Solution:
    def isPowerOfTwo(self, n: int) -> bool:
        if n <= 0:
            return False
        if n == 1:
            return True
        
        while n > 1:
            n /= 2
        return n == 1



Problem solution in Java.

public class Solution {
    public boolean isPowerOfTwo(int n) {
        if (n <= 0){
            return false;
        }
        else if ((n & (n - 1)) == 0){
            return true;
        }
        else {
            return false;
        }
    }
}


Problem solution in C++.

class Solution {
public:
    bool isPowerOfTwo(int n) {
        bool a;
        if(n==0){a=false;}        
        else if(n==1){a=true;}        
        else{
            if(ceil(log2(n)) == floor(log2(n))){a=true;}
            else{a=false;}
        }return a;
    }
};


Problem solution in C.

bool isPowerOfTwo(int n){
    long int x = n;
    if(n && !(n & (x-1))) return true;
    else return false;
}