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
}

  

 

posted @ 2022-04-21 10:03  SoutherLea  阅读(19)  评论(0编辑  收藏  举报