Roman rules在这个网页里面,http://www.factmonster.com/ipka/A0769547.html
只要判断清楚前后数字的大小关系就行,大的话就加 小就减,记得从后往前判断
public class Solution {
public int romanToInt(String s) {
if ( s == null || s.length() == 0)
return 0;
int ans = 0;
int prev = 0;
for ( int i = s.length() -1; i >=0; i-- ){
int val = 0;
switch ( s.charAt(i) ){
case 'I': val = 1;
break;
case 'V': val = 5;
break;
case 'X': val = 10;
break;
case 'L': val = 50;
break;
case 'C': val = 100;
break;
case 'D': val = 500;
break;
case 'M': val = 1000;
break;
}
if ( val >= prev ){
ans += val;
}
else
ans -= val;
prev = val;
}
return ans;
}
}