2119、反轉兩次的數字 | 演算法(leetode,附思維導圖 + 全部解法)300題

碼農三少發表於2022-03-19

零 標題:演算法(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 歷史文章 - 總覽

歷史文章 - 總覽

刷題進度 - LeetCode:460 / 2559 、《劍指offer》:66 / 66

2 博主簡介

碼農三少 ,一個致力於編寫 極簡、但齊全題解(演算法) 的博主。
專注於 一題多解、結構化思維 ,歡迎一起刷穿 LeetCode ~

相關文章