leetcode 13. Roman to Integer
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
AC:
int trans(char a)
{
int add;
switch(a)
{
case 'I':add=1;break;
case 'V':add=5;break;
case 'X':add=10;break;
case 'L':add=50;break;
case 'C':add=100;break;
case 'D':add=500;break;
case 'M':add=1000;break;
}
return add;
}
int romanToInt(char* s) {
int len=strlen(s);
int result=0;
for(int i=0;i<len-1;i++)
{
if(trans(s[i])<trans(s[i+1]))
{
result-=trans(s[i]);
}
else
{
result+=trans(s[i]);
}
}
result+=trans(s[len-1]);
return result;
}