剑指Offer 9. 回文数

1.  题目

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。

2. 示例

示例1:

输入:x = 121
输出:true

示例2:

输入:x = -121
输出:false
解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例3:

输入:x = 10
输出:false
解释:从右向左读, 为 01 。因此它不是一个回文数。

3. 题解

1. 一般首想到的是反转数字,然后比较。

2. 转为字符串,然后依次对比i,与n-i。

我们使用第二种方式。

4. 实现

 1 public class isPalindrome9 {
 2     // 字符串
 3     public boolean isPalindrome(int x) {
 4         if(x < 0) return false;
 5         String s = String.valueOf(x);
 6         int left = 0, right = s.length() - 1;
 7         while(left < right && s.charAt(left) == s.charAt(right)) {
 8             left++;
 9             right--;
10         }
11         if(left >= right) return true;
12         return false;
13     }
14 
15     public static void main(String[] args) {
16         int x = 121;
17         System.out.println(new isPalindrome9().isPalindrome(x));
18     }
19 }

 5. 结语

  努力去爱周围的每一个人,付出,不一定有收获,但是不付出就一定没有收获! 给街头卖艺的人零钱,不和深夜还在摆摊的小贩讨价还价。愿我的博客对你有所帮助(*^▽^*)(*^▽^*)!

  如果客官喜欢小生的园子,记得关注小生哟,小生会持续更新(#^.^#)(#^.^#)。

但行好事 莫问前程
原文地址:https://www.cnblogs.com/haifwu/p/14941846.html