LeetCode13——Roman to Integer

来源:互联网 发布:sql语句where条件查询 编辑:程序博客网 时间:2024/04/20 02:22

Given a roman numeral, convert it to an integer.

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

题目大意

给你个罗马数字,把它转换成一个int数。输入限定在[1, 3999]。

难度系数:容易

实现

一次性通过,:)

int getVal(char a){    switch (a) {    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;}int romanToInt(string s){    int res = 0;    char max = 'I';    for (int i = s.size()-1; i >= 0; --i) {        if (getVal(s[i]) >= getVal(max)) {            max = s[i];            res += getVal(s[i]);        } else {            res -= getVal(s[i]);        }    }    return res;}
1 0
原创粉丝点击