代码
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;
}
leetcode测试
文章来源地址https://www.toymoban.com/news/detail-828357.html
文章来源:https://www.toymoban.com/news/detail-828357.html
到了这里,关于leetcode13题罗马数字转成整数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!