LeetCode9 回文数
- 题目
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
- 示例
输入:x = 121 输出:true
- 解题思路
- 双指针遍历。对整数的头尾同时遍历,判断是否相同,如果不相同,返回false。遍历结束表示是回文数,返回true。
- 字符串方式。将整数转成字符串,根据字符串的reverse方法,将字符串反转,和原串比较是否相同。
- 代码(Java)
// 方法一 class Solution {public boolean isPalindrome(int x) {if (x == 0) {return true;}if (x < 0) {return false;}String s = x + "";int i = 0;int j = s.length() - 1;while (i <= j) {if (s.charAt(i) == s.charAt(j)) {i++;j--;} else {return false;}}return true;} }
// 方法二 class Solution {public boolean isPalindrome(int x) {if (x == 0) {return true;}if (x < 0) {return false;}String s = String.valueOf(x);String s2 = new StringBuilder(s).reverse().toString();return s2.equals(s);} }