题目链接:https://leetcode.com/problems/roman-to-integer/
题目:
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
思路:
easy
算法:
-
public int romanToInt(String s) {
-
int pre, cur, sum;
-
sum = charToInt(s.charAt(0));
-
for (int i = 1; i < s.length(); i++) {
-
pre = charToInt(s.charAt(i - 1));
-
cur = charToInt(s.charAt(i));
-
if (cur <= pre) {
-
sum += cur;
-
} else {
-
sum = sum - 2 * pre + cur;
-
}
-
}
-
return sum;
-
}
-
-
public static int charToInt(char c) {
-
int data = 0;
-
switch (c) {
-
case ‘I‘:
-
data = 1;
-
break;
-
case ‘V‘:
-
data = 5;
-
break;
-
case ‘X‘:
-
data = 10;
-
break;
-
case ‘L‘:
-
data = 50;
-
break;
-
case ‘C‘:
-
data = 100;
-
break;
-
case ‘D‘:
-
data = 500;
-
break;
-
case ‘M‘:
-
data = 1000;
-
break;
-
}
-
return data;
-
}
【Leetcode】Roman to Integer
原文:http://blog.csdn.net/yeqiuzs/article/details/51615476