【LetMeFly】3783.整数的镜像距离:数学
力扣题目链接:https://leetcode.cn/problems/mirror-distance-of-an-integer/
给你一个整数 n。
定义它的 镜像距离 为:abs(n - reverse(n)),其中 reverse(n) 表示将 n 的数字反转后形成的整数。
返回表示 n 的镜像距离的整数。
其中,abs(x) 表示 x 的绝对值。
示例 1:
输入: n = 25
输出: 27
解释:
reverse(25) = 52。- 因此,答案为
abs(25 - 52) = 27。
示例 2:
输入: n = 10
输出: 9
解释:
reverse(10) = 01,即 1。- 因此,答案为
abs(10 - 1) = 9。
示例 3:
输入: n = 7
输出: 0
解释:
reverse(7) = 7。- 因此,答案为
abs(7 - 7) = 0。
提示:
1 <= n <= 109
解题方法:数学
如何获得一个整数的reverse? 这样就好:
cpp
inline int reverse(int n) {
int ans = 0;
while (n) {
ans = ans * 10 + n % 10;
n /= 10;
}
return ans;
}
- 时间复杂度 O ( log n ) O(\log n) O(logn)
- 空间复杂度 O ( 1 ) O(1) O(1)
AC代码
C++
cpp
/*
* @LastEditTime: 2026-04-18 18:53:10
*/
class Solution {
private:
inline int reverse(int n) {
int ans = 0;
while (n) {
ans = ans * 10 + n % 10;
n /= 10;
}
return ans;
}
public:
int mirrorDistance(int n) {
return abs(n - reverse(n));
}
};
同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~
千篇源码题解已开源