[LeetCode]13. Roman to Integer
原题链接:https://leetcode.com/problems/roman-to-integer/description/
和上一题正好相反,将罗马数字变为int,知道罗马数字的规则后很好做
我的实现:
class Solution { public: int romanToInt(string s) { int length = s.length(); int result = 0; for (int i = 0; i < length; i++) { switch(s[i]) { case 'I': if (i + 1 < length && (s[i+1] == 'V' || s[i+1] == 'X')) result -= 1; else result += 1; break; case 'V': result += 5; break; case 'X': if (i + 1 < length && (s[i+1] == 'L' || s[i+1] == 'C')) result -= 10; else result += 10; break; case 'L': result += 50; break; case 'C': if (i + 1 < length && (s[i+1] == 'D' || s[i+1] == 'M')) result -= 100; else result += 100; break; case 'D': result += 500; break; case 'M': result += 1000; break; } } return result; } };