跳到主要内容

13-罗马数字转整数

题目

13. 罗马数字转整数 - 力扣(LeetCode)

/*
* @lc app=leetcode.cn id=13 lang=golang
*
* [13] 罗马数字转整数
*/

// @lc code=start
func romanToInt(s string) int {
v := []int{1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}
r := []string{"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}

res := 0
// 从大到小遍历数组
for i := 0; i < len(v); i++ {
for strings.HasPrefix(s, r[i]) {
res += v[i]
s = s[len(r[i]):]
}
}

return res
}