diff options
Diffstat (limited to 'other/power_of_four.cpp')
-rw-r--r-- | other/power_of_four.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/other/power_of_four.cpp b/other/power_of_four.cpp new file mode 100644 index 0000000..ecf6de0 --- /dev/null +++ b/other/power_of_four.cpp @@ -0,0 +1,24 @@ +#include "leetcode.h" + +class Solution { +public: + bool isPowerOfFour(int num) { + if (num < 0) + return false; + int ans = 0, pos = 1, ones = 0; + while (num) { + if (num & 1) + ans += 1, ones = pos; + num >>= 1, pos += 1; + } + return ans == 1 && ones & 1; + } +}; + +int main() { + Solution obj; + if (obj.isPowerOfFour(16)) + cout << "true"; + else + cout << "false"; +} |