题目描述

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);
}
}

最新文章

  1. 通过三个DEMO学会SignalR的三种实现方式
  2. 关于BeanUiles.copyPropertis()的用法
  3. ios - block循环引用Demo示例
  4. React Native入门遇到的一些问题
  5. openmeetings 视频会议系统介绍
  6. excel取值
  7. C语言中float,double类型,在内存中的结构(存储方式)
  8. 移动app安全测试
  9. java将map拼接成“参数=值&amp;参数=值”
  10. MongDB PHP7
  11. mysql 命令汇总
  12. 分布式ID方案有哪些以及各自的优劣势,我们当如何选择
  13. gnuradio 初次使用
  14. Faster RCNN 学习与实现
  15. lepus部署
  16. 深入浅出javascript(四)网页运行原理
  17. .net framework 4.5 +steeltoe+ springcloud(三)实现Hystrix断路器
  18. [原] eclipse 无法找到 run as junit
  19. FFmpeg(10)-利用FFmpeg进行视频像素格式和尺寸的转换(sws_getCachedContext(), sws_scale())
  20. springcloud-断路器hystrix

热门文章

  1. git常用操作笔记
  2. 内网渗透_win_socks代理_reGeorg+proxifier
  3. Kettle 中的循环
  4. 21-7-数组相关api
  5. centos6和7安装vnc
  6. linux hg 查看当前提交的所有版本及注释
  7. IOS 表单含有input框和有position: fixed导致错位的问题
  8. Redis探索之路(七):Redis高级使用特性
  9. [转]在WPF中自定义控件 UserControl
  10. [转]Netty入门(最简单的Netty客户端/服务器程序)