Recca Chao 的 gitHub page

推廣網站開發,包含 Laravel 和 Kotlin 後端撰寫、自動化測試、讀書心得等。Taiwan Kotlin User Group 管理員。

View on GitHub

Kotlin Leetcode - 202. Happy Number

題目連接

class Solution {
    fun isHappy(n: Int): Boolean {
    }  
}

解題思路

這題是數字運算的題目

toString()sumBy() 可以很快的做出答案

Kotlin 參考解答

點擊展開解答
class Solution {
    fun isHappy(n: Int): Boolean {
        var r = n
        while (r != 1 && r != 4) {
            r = r.toString()
                .sumBy { (it - '0') * (it - '0') }
        }
        return r == 1
    }
}

如果不喜歡使用 ASCII 計算

可以使用 Kotlin 內建的 digitToInt()

class Solution {
    fun isHappy(n: Int): Boolean {
        var r = n
        while (r != 1 && r != 4) {
            r = r.toString()
                .sumBy { it.digitToInt() * it.digitToInt() }
        }
        return r == 1
    }
}

回到 leetcode 列表