- 题目
给你一个整数 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); } }
LeetCode9 回文数
于 2024-02-25 16:31:00 首次发布