LeetCode_9_回文数字
回文数(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_回文数字的更多相关文章
- [LeetCode] Palindrome Number 验证回文数字
Determine whether an integer is a palindrome. Do this without extra space. click to show spoilers. S ...
- javascript 实现一个回文数字
写一个方法,让"1234"变成回文数字“1234321”,就是顺着读和倒着读都是一样的:注:不让用reverse()方法: function palindrome(str){ va ...
- UVALive 2889(回文数字)
题意:给定i,输出第i个回文数字. 分析:1,2,3,4,……,9------------------------------------------------------------------- ...
- Java 简单算法--打印回文数字
package cn.magicdu.algorithm; public class CircleNumber { public static void main(String[] args) { f ...
- [蓝桥杯]PREV-21.历届试题_回文数字
问题描述 观察数字:, 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的.这样的数字叫做:回文数字. 本题要求你找到一些5位或6位的十进制数字.满足如下要求: 该数字的各个数位之和等于输入 ...
- 【蓝桥杯】PREV-21 回文数字
题目链接:http://lx.lanqiao.org/problem.page? gpid=T113 历届试题 回文数字 时间限制:1.0s 内存限制:256.0MB 问题描写叙 ...
- LeetCode 9 Palindrome Number(回文数字判断)
Long Time No See ! 题目链接https://leetcode.com/problems/palindrome-number/?tab=Description 首先确定该数字的 ...
- 算法笔记_181:历届试题 回文数字(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的.这样的数字叫做:回文数字. 本题要求你找 ...
- 《LeetBook》leetcode题解(9):Palindrome Number[E]——回文数字
我现在在做一个叫<leetbook>的开源书项目,把解题思路都同步更新到github上了,需要的同学可以去看看 地址:https://github.com/hk029/leetcode 这 ...
随机推荐
- 614A - Link/Cut Tree 数乘
A. Link/Cut Tree time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- HDU 6669 Game
hdu题面 解题思路 首先我们要选一个起点,这个起点应该在第一个区间内,然后再看第二个区间在左边还是右边以便移动,但转念一想,我们可以把起点直接选在前一堆区间的交集上,于是思路就有了--依次把所有区间 ...
- 函数返回指针类型(strchr函数)
#include<stdio.h> #include<string.h> char *mystrchr(char *s,char c) { while(*s) { if(*s ...
- (Java多线程系列六)join()的用法和线程的优先级
join()的用法和线程的优先级 1.join()的用法 join()作用就是让其他线程处于等待状态 先看一个需求:创建一个线程,子线程执行完毕后,主线程才能执行 public class JoinT ...
- create-react-app 构建的项目使用 css module 方式来书写 css
先 yarn eject 释放出来配置文件具体参见我之前写过相关的文章(这里不再重复), 找到 config 文件夹下的文件如下图所示: 找到如图所示的配置: 书写 css 的文件名例如(App.mo ...
- DVWA--File Inclusion
0x01了解什么叫file inclusion File Inclusion,意思是文件包含(漏洞),是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(incl ...
- java 后台封装json数据学习总结
一.数据封装 1. List集合转换成json代码 List list = new ArrayList(); list.add( "first" ); list.add( &quo ...
- C++入门经典-例6.17-输出每行数组中的最小值
1:代码如下: // 6.17.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using ...
- Error running 'Tomcat 9.0.241': port out of range:-1
这种情况很容易解决,别急. 修改默认配置,tomcat的server.xml检查一下,端口不能是-1, 一般会选80,或者1-65535之间的任意一个整数 路径:C:\Program Files\Ap ...
- 石川es6课程---3、变量let和常量const
石川es6课程---3.变量let和常量const 一.总结 一句话总结: let非常好用,尤其是let的块级作用域可以解决之前要(function(){})()立刻执行函数做的块级作用域 1.js中 ...