赞
踩
- public static int romanToInt(String s) {
- // 创建一个HashMap,将罗马数字字符映射为整数值
- HashMap<Character, Integer> map = new HashMap<>();
- map.put('I', 1);
- map.put('V', 5);
- map.put('X', 10);
- map.put('L', 50);
- map.put('C', 100);
- map.put('D', 500);
- map.put('M', 1000);
- // 初始化总和为0
- int sum = 0;
- // 遍历输入的罗马数字字符串
- for (int i = 0; i < s.length(); i++) {
- // 获取当前字符对应的整数值
- Integer value = map.get(s.charAt(i));
- // 如果当前字符不是最后一个字符,且当前字符的值小于下一个字符的值
- if (i < s.length() - 1 && value < map.get(s.charAt(i + 1))) {
- // 减去当前字符的值
- sum -= value;
- } else {
- // 否则,加上当前字符的值
- sum += value;
- }
- }
- // 返回最终的整数值
- return sum;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。