零 标题:算法(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 ~