Roman to Integer

来源:互联网 发布:知乎 四个意识 编辑:程序博客网 时间:2024/06/01 20:18

Roman to Integer

Given a roman numeral, convert it to an integer.

Input is guaranteed to be within the range from 1 to 3999.

类似Integer tp Roman

从string的最后一位开始做判断,在判断类似XL这种情况,当遍历到X,只需判断当前的计算结果ans,是否>=L即可,如果成立,说明是XL这种情况,只需-X,否则+x,以此类推。

int romanToInt(string s) {        int ans = 0;        for(int i = s.size() - 1; i >= 0; i--){            switch(s[i]){                case 'I':                    ans += (ans >= 5) ? -1 : 1;                    break;                case 'X':                    ans += 10 * ((ans >= 50) ? -1 : 1);                    break;                case 'V':                    ans += 5;                    break;                case 'C':                    ans += 100 * ((ans >= 500) ? -1 : 1);                    break;                case 'L':                    ans += 50;                    break;                case 'M':                    ans += 1000;                    break;                case 'D':                    ans += 500;                    break;            }        }        return ans;    }


0 0
原创粉丝点击