本文主要是介绍13 Roman to Integer,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
思路:
如果小的在大的前面,就是减
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;}
这篇关于13 Roman to Integer的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!