您的位置:首页 > 编程语言 > Java开发

leetcode-9 回文数 java实现

2019-04-23 10:42 113 查看

题目:

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

示例:
输入 121
输出 true

输入-121
输出false;

解法一:将x转为String类型,然后用char[] 来实现

代码如下

[code]class Solution {
public boolean isPalindrome(int x) {
String s = String.valueOf(x);
char[] ch = s.toCharArray();
int length = ch.length-1;
int i=0;
while(length > i){
if (ch[length--] != ch[i++]){
return false;
}
}
return true;
}
}

解法二 不用转String类型,首先负数肯定不是回文数,非负整数用result保存其倒序数字,判断result和原数是否相等。

[code]class Solution {
public boolean isPalindrome(int x) {
if(x<0){
return false;
}
int result = 0;
int temp = x;
while(x != 0){
result = result*10+x%10;
x/=10;
}
return temp==result;
}
}

解法二比解法一执行时间和运行内存都少。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐