首页 > 代码库 > Roman to Integer
Roman to Integer
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
1 public class Solution { 2 public int romanToInt(String s) { 3 HashMap<String, Integer> numbers = new HashMap<String, Integer>(); 4 numbers.put("M", 1000); 5 numbers.put("CM", 900); 6 numbers.put("D", 500); 7 numbers.put("CD", 400); 8 numbers.put("C", 100); 9 numbers.put("XC", 90);10 numbers.put("L", 50);11 numbers.put("XL", 40);12 numbers.put("X", 10);13 numbers.put("IX", 9);14 numbers.put("V", 5);15 numbers.put("IV", 4);16 numbers.put("I", 1);17 int result = 0;18 for(int i = 0; i < s.length(); i ++){19 if(i + 1 < s.length() && numbers.containsKey(s.substring(i, i + 2))){ 20 result += numbers.get(s.substring(i, i + 2)); 21 i ++;22 }23 else result += numbers.get(s.substring(i,i + 1));24 }25 return result;26 }27 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。