Leetcode 13. 罗马数字转整数
13. 罗马数字转整数 - 力扣(LeetCode) (leetcode-cn.com)

思路:
1. 将所有罗马符号对应的值都写入到map中,然后声明结果变量。
2. 遍历整个字符串,如果当前的字符元素对应值小于右侧元素对应值,结果变量减去当前元素值。
3. 如果当前元素不小于右侧元素值,结果变量加上当前元素值。
4. 返回结果变量。
func romanToInt(s string) int {
valueMap:=map[byte]int{
'I': 1,
'V': 5,
'X': 10,
'L': 50,
'C': 100,
'D': 500,
'M': 1000,
}
length:=len(s)
result:=0
for i:=0;i<length;i++{
if i<length-1&&valueMap[s[i]]<valueMap[s[i+1]]{
result-=valueMap[s[i]]
}else{
result+=valueMap[s[i]]
}
}
return result
}

浙公网安备 33010602011771号