羊毛 | 寫 Code 雜談

願如同童話裡的山羊般咀嚼知識

0%

LeetCode with JS - 0009 Palindrome Number

Leetcode: https://leetcode.com/problems/palindrome-number/

[正文]

分析

這題相當直覺,直接 reverse, 然後回傳 reverse === input 就好。

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
* @param {number} x
* @return {boolean}
*/
var isPalindrome = function(x) {
return (x >= 0)? (x === reverse(x)) : false;
};

function reverse(x) {
let reverse = 0;
while (x !== 0) {
const lastDigit = x % 10;
reverse = reverse * 10 + lastDigit;
x = Math.trunc(x / 10);
}
return reverse;
}
  1. 對於小於 0 的 input 可以直接回傳 false; (也可以不做,只是節省常數時間而已)
  2. reverse number 的方式和第七題一樣;