题目描述:
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
Example 3:
Input:10
Output:false
题目:
给出一个数字,求他是不是回文类型(也就是正着读和反着读都一样)
解析思路:
1.我自己的解题思路:将int转成String,再转成char数组,然后第一个字符和最后一个字符比对,第二个字符和倒数第二个字符比对,直到比对完成。时间复杂度是O(n)
class Solution {
public boolean isPalindrome(int x) {
char[] array = String.valueOf(x).toCharArray();
for(int i = 0;i<(array.length/2);i++){
if(array[i] != array[array.length-1-i]) return false;
}
return true;
}
}
2.讨论区里有通过StringBuilder直接得出结果的,因为StringBuffer里封装了一个方法
public boolean isPalindrome(int x) {
String str = ""+x;
StringBuilder stb = new StringBuilder(str);
stb.reverse();
return (str.equals(stb.toString()));
}