Java算法練習——回文數


題目鏈接

題目描述

判斷一個整數是否是回文數。回文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。

示例 1

輸入: 121
輸出: true

示例 2

輸入: -121
輸出: false
解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個回文數。

示例 3

輸入: 10
輸出: false
解釋: 從右向左讀, 為 01 。因此它不是一個回文數。

題解

public boolean isPalindrome(int x) {
    if(x < 0 || (x % 10 == 0 && x != 0)){
        return false;
    }
    String str = String.valueOf(x);
    int L = str.length() - 1;
    int R = 0;
    while (L > R) {
        if (str.charAt(L) != str.charAt(R))
            return false;
        L--;
        R++;
    }
    return true;
}

復雜度分析

  • 時間復雜度:$O(n)$。
  • 空間復雜度:$O(1)$。

手記

思路很多,不要限制你的思維。

一廂情願,願賭服輸

以上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM