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
}
}
}