当前位置:   article > 正文

leetcode13题罗马数字转成整数

leetcode13题罗马数字转成整数

代码

  1. public static int romanToInt(String s) {
  2. // 创建一个HashMap,将罗马数字字符映射为整数值
  3. HashMap<Character, Integer> map = new HashMap<>();
  4. map.put('I', 1);
  5. map.put('V', 5);
  6. map.put('X', 10);
  7. map.put('L', 50);
  8. map.put('C', 100);
  9. map.put('D', 500);
  10. map.put('M', 1000);
  11. // 初始化总和为0
  12. int sum = 0;
  13. // 遍历输入的罗马数字字符串
  14. for (int i = 0; i < s.length(); i++) {
  15. // 获取当前字符对应的整数值
  16. Integer value = map.get(s.charAt(i));
  17. // 如果当前字符不是最后一个字符,且当前字符的值小于下一个字符的值
  18. if (i < s.length() - 1 && value < map.get(s.charAt(i + 1))) {
  19. // 减去当前字符的值
  20. sum -= value;
  21. } else {
  22. // 否则,加上当前字符的值
  23. sum += value;
  24. }
  25. }
  26. // 返回最终的整数值
  27. return sum;
  28. }

leetcode测试

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号