LeetCode第九题—— Palindrome Number(判断回文数)
2024-09-04 18:11:11
题目描述
Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.
Example 1:
Input: 121
Output: true
Example 2:
Input: -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
Example 3:
Input: 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
My solution(10ms,36.5MB)
整形转换成字符型,然后进行颠倒转换
class Solution {
public boolean isPalindrome(int x) {
if(x<0){
return false;
}else{
String a = x + "";
String aReverse = new StringBuilder(a).reverse().toString();
if(a.equals(aReverse)){
return true;
}else{return false;}
}
}
}
Other solution(6ms,35.1MB):
这个方法很神奇啊!Ψ( ̄∀ ̄)Ψ
先排除负数,然后把整数分成两个部分,x为前一半,rev为后一半,例:32499423
并且rev还是已经倒转过后的数字,即3249
最后比较一下两个是否相同
如果是奇数个数字,例:12321
则rev为123,x为12
然后比较123/10=12和12是否相等
class Solution {
public boolean isPalindrome(int x) {
if (x<0 || (x!=0 && x%10==0)) return false;
int rev = 0;
while (x>rev){
rev = rev*10 + x%10;
x = x/10;
}
return (x==rev || x==rev/10);
}
}
最新文章
- 通过三个DEMO学会SignalR的三种实现方式
- 关于BeanUiles.copyPropertis()的用法
- ios - block循环引用Demo示例
- React Native入门遇到的一些问题
- openmeetings 视频会议系统介绍
- excel取值
- C语言中float,double类型,在内存中的结构(存储方式)
- 移动app安全测试
- java将map拼接成“参数=值&;参数=值”
- MongDB PHP7
- mysql 命令汇总
- 分布式ID方案有哪些以及各自的优劣势,我们当如何选择
- gnuradio 初次使用
- Faster RCNN 学习与实现
- lepus部署
- 深入浅出javascript(四)网页运行原理
- .net framework 4.5 +steeltoe+ springcloud(三)实现Hystrix断路器
- [原] eclipse 无法找到 run as junit
- FFmpeg(10)-利用FFmpeg进行视频像素格式和尺寸的转换(sws_getCachedContext(), sws_scale())
- springcloud-断路器hystrix
热门文章
- git常用操作笔记
- 内网渗透_win_socks代理_reGeorg+proxifier
- Kettle 中的循环
- 21-7-数组相关api
- centos6和7安装vnc
- linux hg 查看当前提交的所有版本及注释
- IOS 表单含有input框和有position: fixed导致错位的问题
- Redis探索之路(七):Redis高级使用特性
- [转]在WPF中自定义控件 UserControl
- [转]Netty入门(最简单的Netty客户端/服务器程序)