零 標題:演算法(leetode,附思維導圖 + 全部解法)300題之(2119)反轉兩次的數字
一 題目描述
二 解法總覽(思維導圖)
三 全部解法
1 方案1
1)程式碼:
// 方案1 “模擬法”。
// 思路:
// 1)通過 反轉num 得到 reversed1 ,通過 反轉reversed1 得到 reversed2 。
// 2)return reversed2 === num 。
var isSameAfterReversals = function(num) {
// 1)通過 反轉num 得到 reversed1 ,通過 反轉reversed1 得到 reversed2 。
const reversed1 = parseInt(String(num).split('').reverse().join('')),
reversed2 = parseInt(String(reversed1).split('').reverse().join(''));
// 2)return reversed2 === num 。
return reversed2 === num;
};
2 方案2
1)程式碼:
// 方案2 “觀察、技巧(即數學法)法”。
// 技巧:題幹中、 “反轉之後不保留前導零 ” --> 原始數不能末尾為0(即 num % 10 !== 0 ) ,
// 但注意 num = 0 時是符合條件的!
var isSameAfterReversals = function(num) {
return (num === 0) || (num % 10 !== 0);
}
四 資源分享 & 更多
1 歷史文章 - 總覽
2 博主簡介
碼農三少 ,一個致力於編寫 極簡、但齊全題解(演算法) 的博主。
專注於 一題多解、結構化思維 ,歡迎一起刷穿 LeetCode ~