Kotlin Leetcode - 3783. Mirror Distance of an Integer
題目連接:https://leetcode.com/problems/mirror-distance-of-an-integer/
class Solution {
fun mirrorDistance(n: Int): Int {
}
}
解題思路
這題主要考的是怎麼翻轉一個數字
我們可以用四則運算的方式
預先設置變數 rev,使用一個迴圈
每次迴圈 rev 乘以十,尾端加上原本數字的最後一位數
並將原本的數字除以十
num = 123, rev = 0
num = 12, rev = 0 + 3
num = 1, rev = 30 + 2
num = 0, rev=320 + 1
或者,我們可以直接將原本的數字轉成字串
然後使用字串的 reversed() 翻轉
最後轉回整數進行運算
Kotlin 參考解答
點擊展開解答
使用四則運算翻轉數字的方式如下
class Solution {
fun mirrorDistance(n: Int): Int {
var num = n
var rev = 0
while (num > 0) {
rev = rev * 10 + num % 10
num /= 10
}
return abs(n - rev)
}
}
使用字串 reversed() 的方式如下
class Solution {
fun mirrorDistance(n: Int) = abs(n - n.toString().reversed().toInt())
}
- 回到 leetcode 列表