Python | Leetcode Python题解之第564题寻找最近的回文数

题目:

题解:

python 复制代码
class Solution:
    def nearestPalindromic(self, n: str) -> str:
        m = len(n)
        candidates = [10 ** (m - 1) - 1, 10 ** m + 1]
        selfPrefix = int(n[:(m + 1) // 2])
        for x in range(selfPrefix - 1, selfPrefix + 2):
            y = x if m % 2 == 0 else x // 10
            while y:
                x = x * 10 + y % 10
                y //= 10
            candidates.append(x)

        ans = -1
        selfNumber = int(n)
        for candidate in candidates:
            if candidate != selfNumber:
                if ans == -1 or \
                        abs(candidate - selfNumber) < abs(ans - selfNumber) or \
                        abs(candidate - selfNumber) == abs(ans - selfNumber) and candidate < ans:
                    ans = candidate
        return str(ans)
相关推荐
hbqjzx3 分钟前
[工具] B站油管DY视频下载器 2025.12.18
python
自己的九又四分之三站台6 分钟前
基于Python获取SonarQube的检查报告信息
开发语言·python
weixin_3954489114 分钟前
TDA4工程和tda2工程相比,数据预处理部分tda4有哪些升级?带来了什么好处,tda2原来的数据预处理有哪些坏处
人工智能·python·机器学习
luoluoal21 分钟前
基于python的des算法的企业用户数据安全软件(源码+文档)
python·mysql·毕业设计·源码
Mqh18076222 分钟前
day43 图像数据与现存
python
逻极23 分钟前
Python MySQL监控与日志配置实战:从“盲人摸象”到“明察秋毫”
python·mysql·监控·日志
风筝在晴天搁浅26 分钟前
hot100 3.无重复字符的最长子串
数据结构·算法·leetcode
小嘴叭叭儿27 分钟前
5 分钟上手 uv:Python 依赖管理最佳实践
python·程序员
努力学算法的蒟蒻32 分钟前
day37(12.18)——leetcode面试经典150
算法·leetcode·面试
scan72434 分钟前
python mcp see
开发语言·数据库·python