🔢 判断数字能否重排成 2 的幂 —— LeetCode「重排得到 2 的幂」题解
📌 题目描述
给定一个正整数 n,我们可以重新排列它的每一位数字(包括原始顺序),但不允许有前导零。我们想知道是否存在这样一种排列,使得该数字是 2 的幂次方。
输入:
n = 1
输出:
True
输入:
n = 10
输出:
False
限制:
1 <= n <= 10⁹
🧠 解题思路分析
这是一个典型的数字重排 + 模式匹配问题。我们需要在所有 n 的排列中,判断是否有哪一个排列对应的是 2 的幂。
❓ 怎么判断一个数是 2 的幂?
我们可以预先知道,2 的幂在 10⁹ 范围内只有有限的几种情况:
2^0 = 12^1 = 2

最低0.47元/天 解锁文章
241

被折叠的 条评论
为什么被折叠?



