iT邦幫忙

2022 iThome 鐵人賽

DAY 24
0
自我挑戰組

從leetcode學習資料結構和演算法系列 第 24

Day 24 A Number After a Double Reversal

  • 分享至 

  • xImage
  •  

題目說明:給一個數字並將其反轉兩次後是否等於原本的數字;反轉的定義:1234反轉變成4321,100變成1(將前面的0去除掉)

Case 1:
Input: num = 526
Output: true
Explanation: Reverse num to get 625, then reverse 625 to get 526, which equals num.

Case 2:
Input: num = 1800
Output: false
Explanation: Reverse num to get 81, then reverse 81 to get 18, which does not equal num.

Case 3:
Input: num = 0
Output: true
Explanation: Reverse num to get 0, then reverse 0 to get 0, which equals num.

解題的思路:其實從題目對於反轉的定義以及測資就可以發現只要尾數有0的數字,反轉以後其位數(100原本是三位數,反轉過後變成一位樹)一定會跟原本的不一樣,因此反轉第二次時得到的答案也會和原本不一樣,所以這題只是單純要你判斷這個數字除以10的餘數是否為0而已

附上程式碼
Java

class Solution {
    public boolean isSameAfterReversals(int num) {
        if (num==0) return true;
        return num%10!=0;
    }
}

Python

class Solution:
    def isSameAfterReversals(self, num: int) -> bool:
        if num==0:
            return True
        return not num%10==0

上一篇
Day 23 Reverse Only Letters
下一篇
Day 25 N-ary Tree Postorder Traversal
系列文
從leetcode學習資料結構和演算法31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言