题目:

13. Roman to Integer

13. Roman to Integer

解答:

就是12题的逆运算

代码:

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

更新会同步在我的网站更新(https://zergzerg.cn/notes/webnotes/leetcode/index.html)

相关文章:

  • 2021-12-07
  • 2021-06-30
  • 2022-02-23
  • 2022-01-10
  • 2021-08-04
  • 2021-10-20
  • 2021-10-05
猜你喜欢
  • 2021-11-09
相关资源
相似解决方案