LeeCode-Roman to Integer
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
1 class Solution { 2 public: 3 int romanToInt(string s) { 4 int length = s.length(); 5 if(length <1) return 0; 6 map<char,int> m; 7 m['I'] = 1; 8 m['V'] = 5; 9 m['X'] = 10; 10 m['L'] = 50; 11 m['C'] = 100; 12 m['D'] = 500; 13 m['M'] = 1000; 14 int i = length-1; 15 int sum = m[s[i--]]; 16 while(i>=0) 17 if(m[s[i+1]] > m[s[i]]) 18 sum -= m[s[i--]]; 19 else 20 sum += m[s[i--]]; 21 return sum; 22 } 23 };
作者:vpoet
出处:http://www.cnblogs.com/vpoet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/vpoet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。