您的位置:首页 > 其它

【LeetCode】13 Roman to Integer

2015-12-01 13:50 477 查看
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[] arrs = s.toCharArray();
Integer sum = 0;
for(int i = 0; i < arrs.length; i++){
switch (arrs[i]){
case 'I':
if(i < arrs.length - 1){
if(arrs[i+1] == 'V'){
sum += 4;
i++;
}else if(arrs[i+1] == 'X'){
sum += 9;
i++;
}else{
sum += 1;
}
}else{
sum += 1;
}
break;

case 'V':
sum += 5;
break;

case 'X':
if(i < arrs.length - 1){
if(arrs[i+1] == 'L'){
sum += 40;
i++;
}else if(arrs[i+1] == 'C'){
sum += 90;
i++;
}else{
sum += 10;
}
}else{
sum += 10;
}
break;

case 'L':
sum += 50;
break;

case 'C':
if(i < arrs.length - 1){
if(arrs[i+1] == 'D'){
sum += 400;
i++;
}else if(arrs[i+1] == 'M'){
sum += 900;
i++;
}else{
sum += 100;
}
}else{
sum += 100;
}
break;

case 'D':
sum += 500;
break;

case 'M':
sum += 1000;
break;
}

}

return sum;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode