1. 程式人生 > >Leetcode9 Palindromic Number

Leetcode9 Palindromic Number

str != spa length reverse 直接 自己 solution ++

這道題比較簡單,首先的思路肯定是得到一個數組,追求簡單就使用了java的API,將之轉化為char數組了。

class Solution {
    public boolean isPalindrome(int x) {
        if (x<0) return false;
        char[] nums = String.valueOf(x).toCharArray();
        for(int i=0;i<nums.length/2;i++) {
            if(nums[i]!=nums[nums.length-i-1]) return false
; } return true; } }

117ms,67.12%。

如果用自己寫的循環可能會更快。但是有個問題,如果想得到轉換後的int數組,我們需要先循環一遍,以得到int的位數,然後再循環一遍對比是否回文。

然後,這個數字如果回文,那麽把他reverse了也依然是原數字,於是,就可以不先循環,直接得到reverse後的數字數組然後對比判斷即可。

class Solution {
    public boolean isPalindrome(int x) {
        if (x < 0) {
            return false
; } int origin = x; int reversed = 0; while (x != 0) { reversed = reversed * 10 + x % 10; x /= 10; } return reversed == origin; } }

79ms。

Leetcode9 Palindromic Number