您的位置:首页 > 编程语言 > Java开发

【LeetCode OJ】Roman to Integer

2014-06-09 00:00 288 查看
Given a roman numeral, convert it to an integer.

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

public class Solution {
public int romanToInt(String s) {
char[] roman = { 'M', 'D', 'C', 'L', 'X', 'V', 'I' };
int[] integer = { 1000, 500, 100, 50, 10, 5, 1 };
int sum = 0;
for (int i = 0; i < 7; ++i) {
int m = s.indexOf(roman[i]);
while (m >= 0) {
if (m > 0) {
int num = 0;
if(i < 2)
num = integer[2];
else if(i < 4)
num = integer[4];
else if(i < 6)
num = integer[6];
sum += integer[i] - num;
}
else if (m == 0)
sum += integer[i];
s = s.substring(m + 1);
m = s.indexOf(roman[i]);
}
}
return sum;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息