題目連結
9. Palindrome Number
題目描述
輸入一個整數 x ,如果回傳的迴文與原先的 x 值相同輸出 true ,反之則輸出 false。
註:迴文指由左念到右或由右念到左都相同的詞句。
範例
1 2 3 4
| <範例一> 輸入:x = 121 輸出:true 解釋:121 從左到右和從右到左讀作121。
|
1 2 3 4
| <範例二> 輸入:x = -121 輸出:false 解釋:從左到右是-121。從右到左變成121-,因此它不是迴文。
|
1 2 3 4
| <範例三> 輸入:x = 10 輸出:false 解釋:從左到右是10。從右到左變成0,因此它不是迴文。
|
運用知識點
解題流程
使用範例二作為解題範例。
step1:使用數字轉字串 toString 方法將 x 轉成字串以利於後面使用陣列方法。
1 2 3
| var isPalindrome = function (x) { console.log(x.toString()); };
|
step2:使用字串分割方法 split ,將原字串分割成字串陣列。
1 2 3
| var isPalindrome = function (x) { console.log(x.toString().split("")); };
|
step3:使用陣列反轉 reverse 反轉陣列。
1 2 3
| var isPalindrome = function (x) { console.log(x.toString().split("").reverse()); };
|
step4:使用陣列合併字串方法 join ,將字串陣列連接。
1 2 3
| var isPalindrome = function (x) { console.log(x.toString().split("").reverse().join("")); };
|
step5:使用比較運算子 === (嚴格相等)比較字串反轉前後是否相同,值相同回傳 true ,反之則回傳 false。
1 2 3 4
| var isPalindrome = function (x) { return x.toString() === x.toString().split("").reverse().join(""); }; console.log(isPalindrome(-121));
|
Codepen