首页 > 其他 > 详细

#13 Roman to Integer

时间:2015-04-16 23:21:07      阅读:210      评论:0      收藏:0      [点我收藏+]

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;
    }
};

 

#13 Roman to Integer

原文:http://www.cnblogs.com/Scorpio989/p/4433569.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!