Recca Chao 的 gitHub page

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

View on GitHub

Kotlin Leetcode - 13. Roman to Integer

題目連接: https://leetcode.com/problems/roman-to-integer/

class Solution {
    fun romanToInt(s: String): Int {
    }
}

解題思路

這題的處理是字串處理

我們可以使用 mapOf() 和字串的 indices 來進行處理

Kotlin 參考解答

class Solution {
    fun romanToInt(s: String): Int {
        var result = 0
        val map = mapOf(
            'I' to 1,
            'V' to 5,
            'X' to 10,
            'L' to 50,
            'C' to 100,
            'D' to 500,
            'M' to 1000
        )
        for (i in s.indices) {
            val s1 = map[s[i]] ?: continue
            if (i + 1 == s.length) {
                result += s1
                continue
            }
            val s2 = map[s[i + 1]] ?: continue
            if (s1 >= s2) {
                result += s1
            } else {
                result -= s1
            }
        }
        return result
    }
}

回到 leetcode 列表