回文数(LeetCode 9)

1.题目

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例 1:

输入: 121
输出: true

示例 2:

输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。

进阶:

你能不将整数转为字符串来解决这个问题吗?

2.分析

整数逆置

3.代码

不用自己写反转

    def isPalindrome(self, x: 'int') -> 'bool':
x = str(x)
new_x = x[::-1]
if new_x == x:
return True
return False

自己写反转判断

    def isPalindrome(self, x: 'int') -> 'bool':
x = str(x)
return self.func(x)
def func(self, x):
l, r =0, len(x)-1
while l<r:
if x[l] != x[r]:
return False
l += 1
r -= 1
return True

整数逆置

    def isPalindrome(self, x: 'int') -> 'bool':
# 如果负数,不是回文数;如果个位数是0(除0这种特殊情况),不是回文数
if x<0 or (x!=0 and x%10==0):
return False
y = x
n = 0
# 逆置 整数
while x:
n = n * 10 + x % 10
x = x//10
return n==y

反转一半数

   # 反转一半数
def isPalindrome(self, x: 'int') -> 'bool':
if x<0 or (x!=0 and x%10==0):
return False
right_rev = 0
while x > right_rev:
right_rev = right_rev*10 + x%10
x = x//10
# 奇偶情况都考虑
return x==right_rev or x==right_rev//10

LeetCode_9_回文数字的更多相关文章

  1. [LeetCode] Palindrome Number 验证回文数字

    Determine whether an integer is a palindrome. Do this without extra space. click to show spoilers. S ...

  2. javascript 实现一个回文数字

    写一个方法,让"1234"变成回文数字“1234321”,就是顺着读和倒着读都是一样的:注:不让用reverse()方法: function palindrome(str){ va ...

  3. UVALive 2889(回文数字)

    题意:给定i,输出第i个回文数字. 分析:1,2,3,4,……,9------------------------------------------------------------------- ...

  4. Java 简单算法--打印回文数字

    package cn.magicdu.algorithm; public class CircleNumber { public static void main(String[] args) { f ...

  5. [蓝桥杯]PREV-21.历届试题_回文数字

    问题描述 观察数字:, 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的.这样的数字叫做:回文数字. 本题要求你找到一些5位或6位的十进制数字.满足如下要求: 该数字的各个数位之和等于输入 ...

  6. 【蓝桥杯】PREV-21 回文数字

    题目链接:http://lx.lanqiao.org/problem.page? gpid=T113   历届试题 回文数字   时间限制:1.0s   内存限制:256.0MB      问题描写叙 ...

  7. LeetCode 9 Palindrome Number(回文数字判断)

    Long Time No See !   题目链接https://leetcode.com/problems/palindrome-number/?tab=Description   首先确定该数字的 ...

  8. 算法笔记_181:历届试题 回文数字(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的.这样的数字叫做:回文数字. 本题要求你找 ...

  9. 《LeetBook》leetcode题解(9):Palindrome Number[E]——回文数字

    我现在在做一个叫<leetbook>的开源书项目,把解题思路都同步更新到github上了,需要的同学可以去看看 地址:https://github.com/hk029/leetcode 这 ...

随机推荐

  1. tomcat 散点杂记

    tomcat有很多细碎的知识点和一些坑点,我将再次记录 域名直指项目 我们经常访问项目都要带上项目目录 eg: http://xwiki.test.com/xwiki or http://jenkin ...

  2. docker运行jpress

    1.前提安装好docker mkdir docker//建立工作文件夹 cd docker 2.下载tomcat镜像和jpress开源项目 docker pull docker pull hub.c. ...

  3. 套接字之send系统调用

    send系统调用只是对sendto系统调用进行了封装,传递的参数不包含目的地址信息,数据会发送到已经建立连接的另一端的地址: /* * Send a datagram down a socket. * ...

  4. JS基础_强制类型转换

    强制类型转换 将一个数据类型强制转换为其他的数据类型 类型转换主要指,将其他数据类型,转换为 string.number.boolean 1.将其他数据类型转换为string(返回值是强转后类型的值) ...

  5. go语言实现简易ftp客户端

          版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/xiangxianghehe/article/details/78310249 Go语言实 ...

  6. java实现二分法查找

    一 前提 使用二分法查找的前提是:有序的数组,没有重复的数据元素.如果没有排序过的,需先排序. 二分法查找时使用场景为:数据量较大时 二 代码 package com.xiao.day01; publ ...

  7. leetcode-easy-listnode-234 Palindrome Linked List

    mycode   89.42% # Definition for singly-linked list. # class ListNode(object): # def __init__(self, ...

  8. android 给控件使用自定义字体Typeface

    第一步:将字体资源放在assets 资源文件夹下: 第二步:获取字体资源 Typeface mTf = Typeface.createFromAsset(c.getAssets(), "Op ...

  9. flutter flutter_swiper使用

    flutter_swiper flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配. 更多详情信息请移步:https://blog.csdn.net/u011 ...

  10. 慕课网_Java入门第三季

    第1章 异常与异常处理 1-1 Java异常简介 (06:50) 1-2 Java中使用try..catch..finally实现异常处理 (05:08) import java.util.Input ...