[LeetCode Java] 13 Roman to Integer

来源:互联网 发布:人工智能公司 编辑:程序博客网 时间:2024/06/16 14:23
/** * Given a roman numeral, convert it to an integer. * * Input is guaranteed to be within the range from 1 to 3999. */import java.util.HashMap;public class RomanToInteger {static int RomanToInt(String s) {HashMap<String, Integer> m = new HashMap<String, Integer>();m.put("I", 1);m.put("V", 5);m.put("X", 10);m.put("L", 50);m.put("C", 100);m.put("D", 500);m.put("M", 1000);int currentRadix = 1;int result = 0;for (int i = s.length() - 1; i >= 0; i--) {int radix = m.get(s.substring(i, i + 1));if (radix >= currentRadix) {result += radix;currentRadix = radix;} else {result -= radix;}}return result;}public static void main(String[] args) {System.out.println(RomanToInt("I"));System.out.println(RomanToInt("X"));System.out.println(RomanToInt("C"));System.out.println(RomanToInt("MCMLXXVI"));System.out.println(RomanToInt("MMMCMXCIX"));}}

0 0
原创粉丝点击