您的位置:首页 > 其它

13 Roman to Integer

2015-11-06 20:37 411 查看
思路:

如果小的在大的前面,就是减

public static int romanToInt(String s) {

String[] str = { "I", "V", "X", "L", "C", "D", "M" };
int[] nums = { 1, 5, 10, 50, 100, 500, 1000 };

Map<String, Integer> map = new HashMap<String, Integer>();
for (int i = 0; i < str.length; i++) {
map.put(str[i], nums[i]);
}

int result = 0;
int length = s.length();
result = map.get(s.charAt(length - 1) + "");

for (int i = length - 2; i >= 0; i--) {
if (map.get(s.charAt(i) + "") < map.get(s.charAt(i + 1) + "")) {
result -= map.get(s.charAt(i) + "");
} else {
result += map.get(s.charAt(i) + "");
}
}
return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: