畫解算法:9. 迴文數

題目連接

leetcode-cn.com/problems/pa…java

題目描述

判斷一個整數是不是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是同樣的整數。算法

示例 1:bash

輸入: 121
輸出: true
複製代碼

示例 2:spa

輸入: -121
輸出: false
解釋: 從左向右讀, 爲 -121 。 從右向左讀, 爲 121- 。所以它不是一個迴文數。
複製代碼

示例 3:3d

輸入: 10
輸出: false
解釋: 從右向左讀, 爲 01 。所以它不是一個迴文數。
複製代碼

解題方案

思路

  • 標籤:數學
  • 若是是負數則必定不是迴文數,直接返回false
  • 若是是正數,則將其倒序數值計算出來,而後比較和原數值是否相等
  • 若是是迴文數則相等返回true,若是不是則不相等false
  • 好比123的倒序321,不相等;121的倒序121,相等

代碼

class Solution {
    public boolean isPalindrome(int x) {
        if(x < 0)
            return false;
        int cur = 0;
        int num = x;
        while(num != 0) {
            cur = cur * 10 + num % 10;
            num /= 10;
        }
        return cur == x;
    }
}
複製代碼

畫解

fr<x>ame_00001.png
fr<x>ame_00002.png
fr<x>ame_00003.png

後臺回覆「算法」,加入每天算法羣 以爲算法直擊靈魂,歡迎點擊在看轉發code

相關文章
相關標籤/搜索