class Solution {
public int romanToInt(String s) {
int[] arr={1,5,10,50,100,500,1000};
//String[] symbols = {"I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M"};
char[] symbols = {'I','V','X','L','C','D','M'};
int sum=0;
char[] roman_string= s.toCharArray();
for (int i=0;i<roman_string.length;i++){
if((roman_string[i]=='I')&&i+1<roman_string.length&&(roman_string[i+1]=='V'))
{ sum+=4;
i++;
continue;}
if((roman_string[i]=='I')&&i+1<roman_string.length&&(roman_string[i+1]=='X'))
{sum+= 9;
i++;
continue;}
if(roman_string[i]=='X'&&i+1<roman_string.length&&roman_string[i+1]=='L')
{sum+= 40;
i++;
continue;}
if(roman_string[i]=='X'&&i+1<roman_string.length&&roman_string[i+1]=='C')
{sum+=90;
i++;
continue;}
if(roman_string[i]=='C'&&i+1<roman_string.length&&roman_string[i+1]=='D')
{sum+=400;
i++;
continue;}
if(roman_string[i]=='C'&&i+1<roman_string.length&&roman_string[i+1]=='M')
{sum+= 900;
i++;
continue;}
for(int j=0;j<symbols.length;j++){
if (roman_string[i]==symbols[j])
{
sum+=arr[j];
break;
}
}
}
return sum;
}
}
#内存优化
class Solution {
public int romanToInt(String s) {
int[] arr={1,5,10,50,100,500,1000};
//String[] symbols = {"I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M"};
char[] symbols = {'I','V','X','L','C','D','M'};
int sum=0;
int len=s.length();
//char[] roman_string= s.toCharArray();
for (int i=0;i<len;i++){
if((s.charAt(i)=='I')&&i+1<len&&(s.charAt(i+1)=='V'))
{ sum+=4;
i++;
continue;}
if((s.charAt(i)=='I')&&i+1<len&&(s.charAt(i+1)=='X'))
{sum+= 9;
i++;
continue;}
if(s.charAt(i)=='X'&&i+1<len&&s.charAt(i+1)=='L')
{sum+= 40;
i++;
continue;}
if(s.charAt(i)=='X'&&i+1<len&&s.charAt(i+1)=='C')
{sum+=90;
i++;
continue;}
if(s.charAt(i)=='C'&&i+1<len&&s.charAt(i+1)=='D')
{sum+=400;
i++;
continue;}
if(s.charAt(i)=='C'&&i+1<len&&s.charAt(i+1)=='M')
{sum+= 900;
i++;
continue;}
for(int j=0;j<symbols.length;j++){
if (s.charAt(i)==symbols[j])
{
sum+=arr[j];
break;
}
}
}
return sum;
}
}