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 }