File tree 14 files changed +193
-25
lines changed
0200-0299/0231.Power of Two
0300-0399/0342.Power of Four
14 files changed +193
-25
lines changed Original file line number Diff line number Diff line change 1
- # [ 231. 2的幂 ] ( https://leetcode-cn.com/problems/power-of-two )
1
+ # [ 231. 2 的幂 ] ( https://leetcode-cn.com/problems/power-of-two )
2
2
3
3
[ English Version] ( /solution/0200-0299/0231.Power%20of%20Two/README_EN.md )
4
4
25
25
<pre ><strong >输入:</strong > 218
26
26
<strong >输出:</strong > false</pre >
27
27
28
-
29
28
## 解法
30
29
31
30
<!-- 这里可写通用的实现逻辑 -->
37
36
<!-- 这里可写当前语言的特殊实现逻辑 -->
38
37
39
38
``` python
40
-
39
+ class Solution :
40
+ def isPowerOfTwo (self , n : int ) -> bool :
41
+ return n > 0 and (n & (n - 1 )) == 0
41
42
```
42
43
43
44
### ** Java**
44
45
45
46
<!-- 这里可写当前语言的特殊实现逻辑 -->
46
47
47
48
``` java
49
+ class Solution {
50
+ public boolean isPowerOfTwo (int n ) {
51
+ return n > 0 && (n & (n - 1 )) == 0 ;
52
+ }
53
+ }
54
+ ```
55
+
56
+ ### ** C++**
57
+
58
+ ``` cpp
59
+ class Solution {
60
+ public:
61
+ bool isPowerOfTwo(int n) {
62
+ return n > 0 && (n & (n - 1)) == 0;
63
+ }
64
+ };
65
+ ```
66
+
67
+ ### **JavaScript**
68
+
69
+ ```js
70
+ /**
71
+ * @param {number} n
72
+ * @return {boolean}
73
+ */
74
+ var isPowerOfTwo = function(n) {
75
+ return n > 0 && (n & (n - 1)) == 0;
76
+ };
77
+ ```
78
+
79
+ ### ** Go**
48
80
81
+ ``` go
82
+ func isPowerOfTwo (n int ) bool {
83
+ return n > 0 && (n & (n - 1 )) == 0
84
+ }
49
85
```
50
86
51
87
### ** ...**
Original file line number Diff line number Diff line change 63
63
### ** Python3**
64
64
65
65
``` python
66
-
66
+ class Solution :
67
+ def isPowerOfTwo (self , n : int ) -> bool :
68
+ return n > 0 and (n & (n - 1 )) == 0
67
69
```
68
70
69
71
### ** Java**
70
72
71
73
``` java
74
+ class Solution {
75
+ public boolean isPowerOfTwo (int n ) {
76
+ return n > 0 && (n & (n - 1 )) == 0 ;
77
+ }
78
+ }
79
+ ```
80
+
81
+ ### ** C++**
82
+
83
+ ``` cpp
84
+ class Solution {
85
+ public:
86
+ bool isPowerOfTwo(int n) {
87
+ return n > 0 && (n & (n - 1)) == 0;
88
+ }
89
+ };
90
+ ```
91
+
92
+ ### **JavaScript**
93
+
94
+ ```js
95
+ /**
96
+ * @param {number} n
97
+ * @return {boolean}
98
+ */
99
+ var isPowerOfTwo = function(n) {
100
+ return n > 0 && (n & (n - 1)) == 0;
101
+ };
102
+ ```
103
+
104
+ ### ** Go**
72
105
106
+ ``` go
107
+ func isPowerOfTwo (n int ) bool {
108
+ return n > 0 && (n & (n - 1 )) == 0
109
+ }
73
110
```
74
111
75
112
### ** ...**
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ bool isPowerOfTwo (int n) {
4
+ return n > 0 && (n & (n - 1 )) == 0 ;
5
+ }
6
+ };
Original file line number Diff line number Diff line change
1
+ func isPowerOfTwo (n int ) bool {
2
+ return n > 0 && (n & (n - 1 )) == 0
3
+ }
Original file line number Diff line number Diff line change 1
1
class Solution {
2
2
public boolean isPowerOfTwo (int n ) {
3
- return n > 0 && (n & - n ) == n ;
3
+ return n > 0 && (n & ( n - 1 )) == 0 ;
4
4
}
5
5
}
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {number } n
3
+ * @return {boolean }
4
+ */
5
+ var isPowerOfTwo = function ( n ) {
6
+ return n > 0 && ( n & ( n - 1 ) ) == 0 ;
7
+ } ;
Original file line number Diff line number Diff line change 1
1
class Solution :
2
- def isPowerOfTwo (self , n ):
3
- """
4
- :type n: int
5
- :rtype: bool
6
- """
7
- if n <= 0 :
8
- return False
9
- m = 2 ** 32
10
- if m % n :
11
- return False
12
- else :
13
- return True
2
+ def isPowerOfTwo (self , n : int ) -> bool :
3
+ return n > 0 and (n & (n - 1 )) == 0
Original file line number Diff line number Diff line change 61
61
<!-- 这里可写当前语言的特殊实现逻辑 -->
62
62
63
63
``` python
64
-
64
+ class Solution :
65
+ def isPowerOfFour (self , n : int ) -> bool :
66
+ return n > 0 and (n & (n - 1 )) == 0 and (n & 0x aaaaaaaa ) == 0
65
67
```
66
68
67
69
### ** Java**
68
70
69
71
<!-- 这里可写当前语言的特殊实现逻辑 -->
70
72
71
73
``` java
74
+ class Solution {
75
+ public boolean isPowerOfFour (int n ) {
76
+ return n > 0 && (n & (n - 1 )) == 0 && (n & 0xaaaaaaaa ) == 0 ;
77
+ }
78
+ }
79
+ ```
80
+
81
+ ### ** C++**
82
+
83
+ ``` cpp
84
+ class Solution {
85
+ public:
86
+ bool isPowerOfFour(int n) {
87
+ return n > 0 && (n & (n - 1)) == 0 && (n & 0xaaaaaaaa) == 0;
88
+ }
89
+ };
90
+ ```
91
+
92
+ ### **JavaScript**
93
+
94
+ ```js
95
+ /**
96
+ * @param {number} n
97
+ * @return {boolean}
98
+ */
99
+ var isPowerOfFour = function(n) {
100
+ return n > 0 && (n & (n - 1)) == 0 && (n & 0xaaaaaaaa) == 0;
101
+ };
102
+ ```
103
+
104
+ ### ** Go**
72
105
106
+ ``` go
107
+ func isPowerOfFour (n int ) bool {
108
+ return n > 0 && (n & (n - 1 )) == 0 && (n & 0xaaaaaaaa ) == 0
109
+ }
73
110
```
74
111
75
112
### ** ...**
Original file line number Diff line number Diff line change 36
36
### ** Python3**
37
37
38
38
``` python
39
-
39
+ class Solution :
40
+ def isPowerOfFour (self , n : int ) -> bool :
41
+ return n > 0 and (n & (n - 1 )) == 0 and (n & 0x aaaaaaaa ) == 0
40
42
```
41
43
42
44
### ** Java**
43
45
44
46
``` java
47
+ class Solution {
48
+ public boolean isPowerOfFour (int n ) {
49
+ return n > 0 && (n & (n - 1 )) == 0 && (n & 0xaaaaaaaa ) == 0 ;
50
+ }
51
+ }
52
+ ```
53
+
54
+ ### ** C++**
55
+
56
+ ``` cpp
57
+ class Solution {
58
+ public:
59
+ bool isPowerOfFour(int n) {
60
+ return n > 0 && (n & (n - 1)) == 0 && (n & 0xaaaaaaaa) == 0;
61
+ }
62
+ };
63
+ ```
64
+
65
+ ### **JavaScript**
66
+
67
+ ```js
68
+ /**
69
+ * @param {number} n
70
+ * @return {boolean}
71
+ */
72
+ var isPowerOfFour = function(n) {
73
+ return n > 0 && (n & (n - 1)) == 0 && (n & 0xaaaaaaaa) == 0;
74
+ };
75
+ ```
76
+
77
+ ### ** Go**
45
78
79
+ ``` go
80
+ func isPowerOfFour (n int ) bool {
81
+ return n > 0 && (n & (n - 1 )) == 0 && (n & 0xaaaaaaaa ) == 0
82
+ }
46
83
```
47
84
48
85
### ** ...**
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public:
3
+ bool isPowerOfFour (int n) {
4
+ return n > 0 && (n & (n - 1 )) == 0 && (n & 0xaaaaaaaa ) == 0 ;
5
+ }
6
+ };
Original file line number Diff line number Diff line change
1
+ func isPowerOfFour (n int ) bool {
2
+ return n > 0 && (n & (n - 1 )) == 0 && (n & 0xaaaaaaaa ) == 0
3
+ }
Original file line number Diff line number Diff line change 1
- public class Solution {
1
+ class Solution {
2
2
public boolean isPowerOfFour (int n ) {
3
- if (n <= 0 ) return false ;
4
- return ((n & (n - 1 )) == 0 ) && ((n & 0x55555555 ) != 0 );
3
+ return n > 0 && (n & (n - 1 )) == 0 && (n & 0xaaaaaaaa ) == 0 ;
5
4
}
6
5
}
Original file line number Diff line number Diff line change 1
- const isPowerOfFour = function ( num ) {
2
- return ( Math . log ( num ) / Math . log ( 4 ) ) % 1.0 == 0.0 ;
3
- } ;
1
+ /**
2
+ * @param {number } n
3
+ * @return {boolean }
4
+ */
5
+ var isPowerOfFour = function ( n ) {
6
+ return n > 0 && ( n & ( n - 1 ) ) == 0 && ( n & 0xaaaaaaaa ) == 0 ;
7
+ } ;
Original file line number Diff line number Diff line change
1
+ class Solution :
2
+ def isPowerOfFour (self , n : int ) -> bool :
3
+ return n > 0 and (n & (n - 1 )) == 0 and (n & 0xaaaaaaaa ) == 0
You can’t perform that action at this time.
0 commit comments