题解 | #牛的回文编号II#

牛的回文编号II

https://www.nowcoder.com/practice/0b576fd673834425878b99c736bb6c34

  • 题目考察的知识点 : 双指针
  • 题目解答方法的文字分析:
  1. 将浮点数 x 转换为字符串,并按照小数点 "." 将其分为左右两个部分。然后,分别使用双指针从中心向两边扩展,判断左右两个部分是否是回文串。注意,在判断回文串的过程中需要跳过前导 0 和后导 0。
  • 本题解析所用的编程语言: Python
  • 完整且正确的编程代码

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param x string字符串
# @return bool布尔型
#
class Solution:
    def isPalindromeNumber(self, x: str) -> bool:
        s = str(x)
        left, right = s.split(".")
        # 分别判断左右两个部分是否是回文串
        return self.check(left) and self.check(right)

    def check(self, s: str) -> bool:
        i, j = 0, len(s) - 1
        while i < j:
            if s[i] == "0":
                i += 1
            elif s[j] == "0":
                j -= 1
            elif s[i] != s[j]:
                return False
            else:
                i += 1
                j -= 1
        return True
牛客高频top202题解系列 文章被收录于专栏

记录刷牛客高频202题的解法思路

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务