2443. 反转之后的数字和
题目描述
给你一个 非负 整数 num
。如果存在某个 非负 整数 k
满足 k + reverse(k) = num
,则返回 true
;否则,返回 false
。
reverse(k)
表示 k
反转每个数位后得到的数字。
示例 1:
输入:num = 443 输出:true 解释:172 + 271 = 443 ,所以返回 true 。
示例 2:
输入:num = 63 输出:false 解释:63 不能表示为非负整数及其反转后数字之和,返回 false 。
示例 3:
输入:num = 181 输出:true 解释:140 + 041 = 181 ,所以返回 true 。注意,反转后的数字可能包含前导零。
提示:
0 <= num <= 105
解法
方法一:暴力枚举
在 $[0,.., num]$ 范围内枚举 $k$,判断 $k + reverse(k)$ 是否等于 $num$ 即可。
时间复杂度 $O(n \times \log n)。其中 $n$ 为 $num$ 的大小。
1 2 3 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
1 2 3 4 5 6 7 8 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|