class Solution {
public:
    int romanToInt(string s) {
        int len = s.length();
        int ans = 0;
        for (int i = 0; i <= len - 1; ++i) {
            if (s[i] == 'I') {
                if (i + 1 <= len - 1 && s[i + 1] == 'V') {
                    ans += 4;
                } else if (i + 1 <= len - 1 && s[i + 1] == 'X') {
                    ans += 9;
                } else {
                    ans += 1;
                    --i;
                }
                ++i;
            } else if (s[i] == 'X') {
                if (i + 1 <= len - 1 && s[i + 1] == 'L') {
                    ans += 40;
                } else if (i + 1 <= len - 1 && s[i + 1] == 'C') {
                    ans += 90;
                } else {
                    ans += 10;
                    --i;
                }
                ++i;
            } else if (s[i] == 'C') {
                if (i + 1 <= len - 1 && s[i + 1] == 'D') {
                    ans += 400;
                } else if (i + 1 <= len - 1 && s[i + 1] == 'M') {
                    ans += 900;
                } else {
                    ans += 100;
                    --i;
                }
                ++i;
            } else if (s[i] == 'V') {
                ans += 5;
            } else if (s[i] == 'L') {
                ans += 50;
            } else if (s[i] == 'D') {
                ans += 500;
            } else if (s[i] == 'M') {
                ans += 1000;
            }
        }
        return ans;
    }
};

