public class Solution {
public int romanToInt(String s) {
int answer = 0;
int i = 0;
int len = s.length();
while(i < len)
{
int x=0;
//要注意的是这题总是优先判断两个字母组合的情况,x就是起这个作用的
if(i < len -1)
{
if(s.charAt(i) == 'C' && s.charAt(i+1) == 'M')
{
answer = answer + 900;
i = i + 2;
x++;
}
else if(s.charAt(i) == 'C' && s.charAt(i+1) == 'D')
{
answer = answer + 400;
i = i + 2;
x++;
}
else if(s.charAt(i) == 'X' && s.charAt(i+1) == 'C')
{
answer = answer + 90;
i = i + 2;
x++;
}
else if(s.charAt(i) == 'X' && s.charAt(i+1) == 'L')
{
answer = answer + 40;
i = i + 2;
x++;
}
else if(s.charAt(i) == 'I' && s.charAt(i+1) == 'X')
{
answer = answer + 9;
i = i + 2;
x++;
}
else if(s.charAt(i) == 'I' && s.charAt(i+1) == 'V')
{
answer = answer + 4;
i = i + 2;
x++;
}
}
if (i<len && x == 0)
{
if(s.charAt(i) == 'M')
{
answer = answer + 1000;
i++;
}
else if(s.charAt(i) == 'D')
{
answer = answer + 500;
i++;
}
else if(s.charAt(i) == 'C')
{
answer = answer + 100;
i++;
}
else if(s.charAt(i) == 'L')
{
answer = answer + 50;
i++;
}
else if(s.charAt(i) == 'X')
{
answer = answer + 10;
i++;
}
else if(s.charAt(i) == 'V')
{
answer = answer + 5;
i++;
}
else if(s.charAt(i) == 'I')
{
answer = answer + 1;
i++;
}
}
}
return answer;
}
}
Roman to Integer
最新推荐文章于 2022-07-21 15:19:09 发布