LeetCode Roman to Integer 罗马数字转阿拉伯数字

2014-11-24 02:44:48 · 作者: · 浏览: 1
Roman to Integer
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
知道转换规律就行。
int romanToInt(string s) {  
        if (s.length()==0) return 0;  
  
        map m;  
        m['I'] = 1;  
        m['V'] = 5;  
        m['X'] = 10;  
        m['L'] = 50;  
        m['C'] = 100;  
        m['D'] = 500;  
        m['M'] = 1000;  
  
        int n = s.length();  
        int result = m[s[n-1]];  
        for (int i=n-2; i>
=0; i--) { if (m[s[i+1]] <= m[s[i]]) result += m[s[i]]; else result -= m[s[i]]; } return result; }