【LeetCode OJ】Roman to Integer

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) {
		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;
    }
}


你可能感兴趣的:(java,TO,Integer,【LeetCode,OJ】Roman)