C++版本,使用动态数组。
lass Solution {
public:
int romanToInt(string s) {
int len = s.length();
int num = 0;
int *arr = new int[len];
for(int i = 0; i < len; i++)
{
switch(s[i])
{
case 'I':
arr[i] = 1;
break;
case 'V':
arr[i] = 5;
break;
case 'X':
arr[i] = 10;
break;
case 'L':
arr[i] = 50;
break;
case 'C':
arr[i] = 100;
break;
case 'D':
arr[i] = 500;
break;
case 'M':
arr[i] = 1000;
break;
default:
break;
}
}
for(int i = 0; i < len - 1; i++)
{
if(arr[i] < arr[i + 1])
{
arr[i] = -arr[i];
}
}
for(int i = 0; i < len; i++)
{
num += arr[i];
}
delete[] arr;
return num;
}
};