劍指Offer 9. 迴文數
阿新 • • 發佈:2021-06-27
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. 結語
努力去愛周圍的每一個人,付出,不一定有收穫,但是不付出就一定沒有收穫! 給街頭賣藝的人零錢,不和深夜還在擺攤的小販討價還價。願我的部落格對你有所幫助(*^▽^*)(*^▽^*)!
如果客官喜歡小生的園子,記得關注小生喲,小生會持續更新(#^.^#)(#^.^#)。