1. 程式人生 > 其它 >劍指Offer 9. 迴文數

劍指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. 結語

  努力去愛周圍的每一個人,付出,不一定有收穫,但是不付出就一定沒有收穫! 給街頭賣藝的人零錢,不和深夜還在擺攤的小販討價還價。願我的部落格對你有所幫助(*^▽^*)(*^▽^*)!

  如果客官喜歡小生的園子,記得關注小生喲,小生會持續更新(#^.^#)(#^.^#)。