Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
public class Solution {
public int romanToInt(String s) {if (s.length()<1) return 0;
int result = 0;
int sub = luoma(s.charAt(0));
int last = sub;
for(int i = 1;i<s.length();i++){
char k = s.charAt(i);
int kk = luoma(k);
if (kk==last){
sub += kk;
}
else if(kk<last){
result += sub;
sub = kk;
}
else{
sub = kk - sub;
}
last = kk;
}
result = result +sub;
return result;
}
public int luoma(char x){
switch(x){
case 'I': return 1;
case 'V': return 5;
case 'X': return 10;
case 'L': return 50;
case 'C': return 100;
case 'D': return 500;
case 'M': return 1000;
default: return 0;
}
}
}