题目:
给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。
如果我们可以通过上述方式得到 2 的幂,返回 true;否则,返回 false。
示例 1:
输入:1
输出:true
示例 2:
输入:10
输出:false
示例 3:
输入:16
输出:true
示例 4:
输入:24
输出:false
示例 5:
输入:46
输出:tru
提示:
1 <= N <= 10^9
解法思路1:刚开始只想到了将数字转换为字符串然后将它进行全排序, 再经过遍历若得到符合要求的结果则返回TRUE,导致运行的时间接近要超时了
代码如下:
后来看到题解发现python有自带的str方法可以筛选出2的幂元素,再用counter()方法统计,可以更加节约时间
代码如下: