标签:
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
class Solution { public: int romanToInt(string s) { int num = 0; int n = s.size(); for (int i = 0; i < n; ++i){ if (i < n - 1 && toNumber(s[i]) < toNumber(s[i + 1])){ num += toNumber(s[i + 1]) - toNumber(s[i]); ++i; } else{ num += toNumber(s[i]); } } return num; } int toNumber(char ch) { switch (ch) { case ‘I‘: return 1; case ‘V‘: return 5; case ‘X‘: return 10; case ‘L‘: return 50; case ‘C‘: return 100; case ‘D‘: return 500; case ‘M‘: return 1000; } return 0; } };
标签:
原文地址:http://www.cnblogs.com/Scorpio989/p/4433569.html