leetcode 231. 2 的幂
生活随笔
收集整理的這篇文章主要介紹了
leetcode 231. 2 的幂
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你一個整數 n,請你判斷該整數是否是 2 的冪次方。如果是,返回 true ;否則,返回 false 。
如果存在一個整數 x 使得?n == 2x ,則認為 n 是 2 的冪次方。
示例 1:
輸入:n = 1
輸出:true
解釋:20 = 1
示例 2:
輸入:n = 16
輸出:true
解釋:24 = 16
示例 3:
輸入:n = 3
輸出:false
示例 4:
輸入:n = 4
輸出:true
解題思路
根據二進制的特性可得一個數是 2 的冪次方,那么它的二進制表示中,只有1位是1。因此我們可以檢查所有的位,統計1的個數
代碼
func isPowerOfTwo(n int) bool {if n<0{return false}cnt:=0for i := 0; i < 31; i++ {cnt+=n&1n>>=1}return cnt==1 }總結
以上是生活随笔為你收集整理的leetcode 231. 2 的幂的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 5756. 两个数组最
- 下一篇: 大数据与Hadoop