LeetCode 13 Roman to Integer

题目

c++

class Solution {
public:
    int v[7]={1,5,10,50,100,500,1000};
    char s2[7]={'I','V','X','L','C','D','M'};
    map<char,int>m;
    int romanToInt(string s) {
        int j=0;
        for(int i=0;i<7;i++)
        {
            m[s2[i]]=v[i];
        }
        int ans=0;
        for(int i=0;i<s.length();i++)
        {
            if(i+1<s.length()&&m[s[i+1]]>m[s[i]])
            {
                ans+=m[s[i+1]]-m[s[i]];
                i++;
                continue;
            }
            else
            {
                ans+=m[s[i]];
            }
        }
        return ans;
    }
};
原文地址:https://www.cnblogs.com/dacc123/p/11067875.html