LeetCode-回文數
阿新 • • 發佈:2018-10-26
package ret plot size position rom 個數字 list int
LeetCode-回文數
Table of Contents
- 1. Easy-回文數
- 1.1. 題目描述
- 1.2. 示例1:
- 1.3. 示例2:
- 1.4. 示例 3:
- 2. 自己的答案
- 2.1. 思路
- 2.2. 代碼
- 3. 官方解答
1 Easy-回文數
1.1 題目描述
判斷一個整數是否是回文數。回文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
1.2 示例1:
輸入: 121 輸出: true
1.3 示例2:
輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個回文數。
1.4 示例 3:
輸入: 10 輸出: false 解釋: 從右向左讀, 為 01 。因此它不是一個回文數。
2 自己的答案
2.1 思路
- 將每個數字通過余10的方式取得並存在一個數組中,然後遍歷數組,比較數組兩端的元素是否一致
- 如果不一致,不是回文數,返回false
- 如果都一致,是回文數,返回true
- 負數均不是回文數,返回false
2.2 代碼
package algorithm.easy; import java.util.ArrayList; import java.util.List; public class PalindromeNumber { public static boolean isPalindrome(int x) { // 如果是負數,不是回文數,直接返回false. if (x < 0) { return false; } List<Integer> list = new ArrayList<>(); // 取出每一位數字 while (x != 0) { list.add(x % 10); x /= 10; } // 對比,檢驗是否為回文數 for (int i = 0; i < list.size() / 2; i++) { if (list.get(i) != list.get(list.size() - i - 1)) { return false; } } // 是回文數 return true; } public static void main(String[] args) { System.out.println(isPalindrome(121212)); } }
3 官方解答
Date: 2018-10-25 21:39
Created: 2018-10-25 四 21:48
Validate
LeetCode-回文數