当前位置: 代码迷 >> 综合 >> Leetcode 13. Roman to Integer (cpp)
  详细解决方案

Leetcode 13. Roman to Integer (cpp)

热度:30   发布时间:2023-11-26 06:04:53.0

题目

在这里插入图片描述

解法:

写个while循环,单独处理特殊情况即可

class Solution {
    
public:int romanToInt(string s) {
    unordered_map<char,int> mapping{
    {
    'I', 1},{
    'V', 5},{
    'X', 10},{
    'L', 50},{
    'C', 100},{
    'D', 500},{
    'M', 1000}};int res = 0;int i = 0;while(i<s.size()){
    if(i+1 < s.size() && mapping[s[i]] < mapping[s[i+1]]){
    res += mapping[s[i+1]] - mapping[s[i]];i += 2;}else{
    res += mapping[s[i]];i++;}}return res;}
};
  相关解决方案