python 每日一练(11) 回文数

回文数是指正序(从左到右)和倒叙(从右到左)都是一样的整数。列如,1223是回文,而1222不是回文。

解法一:

通过逆转字符进行比较

首先考虑临界问题,提高判断效率。

如果x是一个负数小于零那他一定不是一个回文数

如果他是一个大于零的整数,末尾是零那他也不是回文

for  x<0  or  x>0  and x%10==0:

return False

只有符合以上临界判断,才进行逆转判断

逆转:

首先把我们的数字转化成字符串;str_x=str(x)

如果我们的当前字符逆转后等于逆转后的字符串那就是回文数

return  str_x==str_x[::-1]

最后输出

print(is_palindrome())

解法二:

反转一半数字和前半部分的数字进行比较

首先考虑临界问题

for  x<0  or  x>0  and x%10==0:

return False

定义一个变量reverted去保存逆转后的后半部分数字默认为零

reverted = 0

然后用循环对整数x进行处理

x小于reverted的时候用while判断是否成立,成则结束反正继续

用2332来举例:第一次循环把末尾的数字2取出,第二次取3,需要把32变成23。

因此:

reverted==revertde*10+x%10

x//10=10

第一次reverted等于零,就是第一次循环结束后reverted等于2x变成122,第二次reverted2*10+3变成23,这时32这个数字变成23

返回的时候分两种情况,一数位是奇数,二数位是偶数

如果是偶数位反转和现在x是一样的

reverted  x==reverted or  x== reverted//10

最后输出:

相关推荐

  1. C语言每日12、水仙花

    2024-04-27 06:38:04       31 阅读
  2. 力扣由浅至深 每日题.02

    2024-04-27 06:38:04       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-27 06:38:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-27 06:38:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-27 06:38:04       87 阅读
  4. Python语言-面向对象

    2024-04-27 06:38:04       96 阅读

热门阅读

  1. 搭建vue3组件库(一):Monorepo架构搭建

    2024-04-27 06:38:04       31 阅读
  2. day03--react中setState的使用

    2024-04-27 06:38:04       36 阅读
  3. linux安装opencv

    2024-04-27 06:38:04       30 阅读
  4. Kafka

    Kafka

    2024-04-27 06:38:04      31 阅读
  5. js的基础知识

    2024-04-27 06:38:04       31 阅读
  6. 【动态规划】Leetcode 416. 分割等和子集【中等】

    2024-04-27 06:38:04       35 阅读