231. Power of Two

QUESTION:

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

Constraints:

-231 <= n <= 231 - 1

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

EXPLANATION:

没啥说的,只是换成了swift版本

SOLUTION:

class Solution {
    var powArray:[Int] {
        var result:[Int] = [1]
        var tmp:Int = 1
        for i in 1...30 {
            tmp = tmp * 2
            result.append(tmp)
        }
        return result
    }
    
    func isPowerOfTwo(_ n: Int) -> Bool {
        if n < 0 {return false}
        if let index = powArray.firstIndex(of: n) {
            return true
        } else {
            return false
        }
    }
}