前言
持续更新了
正文
问题来源
本问题来自leetcode上的869题。
问题描述
给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。
如果我们可以通过上述方式得到 2 的幂,返回 true;否则,返回 false。
示例 1:
输入:10
输出:false
示例 2:
输入:46
输出:true
分析:
func reorderedPowerOf2(N int) bool {
resN := count(N)
for i := 0; i < 31; i++ {
r := count(1<<i)
if string(resN) == string(r) {
return true
}
}
return false
}
func count(N int) []byte {
res := make([]byte, 10)
for N != 0 {
res[N%10]++
N /= 10
}
return res
}
总结:
勤思考。
结语
不管怎么样好好加油。