Given a roman numeral, convert it to an integer.java
Input is guaranteed to be within the range from 1 to 3999.code
public class Solution { public int romanToInt(String s) { char[] roman = { 'M', 'D', 'C', 'L', 'X', 'V', 'I' }; int[] integer = { 1000, 500, 100, 50, 10, 5, 1 }; int sum = 0; for (int i = 0; i < 7; ++i) { int m = s.indexOf(roman[i]); while (m >= 0) { if (m > 0) { int num = 0; if(i < 2) num = integer[2]; else if(i < 4) num = integer[4]; else if(i < 6) num = integer[6]; sum += integer[i] - num; } else if (m == 0) sum += integer[i]; s = s.substring(m + 1); m = s.indexOf(roman[i]); } } return sum; } }