具体代码如下
方法一
int romanToInt(char * s)
{
int a = 0,b = 0,sum = 0;
for(int i = 0;i < strlen(s);i++)
{
switch(s[i])
{
case 'I':a = 1;break;
case 'V':a = 5;break;
case 'X':a = 10;break;
case 'L':a = 50;break;
case 'C':a = 100;break;
case 'D':a = 500;break;
case 'M':a = 1000;break;
defalt: return 0;
}
sum += a;
if(b < a)
{
sum -= 2*b;
}
b = a;
}
return sum;
}
方法二
int romanToInt(char * s)
{
int a = 0,b = 0,sum = 0;
for(int i = 0;i < strlen(s);i++)
{
switch(s[i])
{
case 'I':a = 1;break;
case 'V':a = 5;break;
case 'X':a = 10;break;
case 'L':a = 50;break;
case 'C':a = 100;break;
case 'D':a = 500;break;
case 'M':a = 1000;break;
defalt: return 0;
}
sum += (a > b)?(-b) :(b);
b = a;
/*if(b < a)
{
sum -= 2*b;
}
b = a;*/
}
sum += b;
return sum;
}
如有疑问请留言
加油铁汁~