class Solution {
public int romanToInt(String s) {
Map<String, Integer> map = new HashMap<>();
map.put("I", 1);
map.put("V", 5);
map.put("X", 10);
map.put("IV", 4);
map.put("IX", 9);
map.put("L", 50);
map.put("C", 100);
map.put("XL", 40);
map.put("XC",90);
map.put("D", 500);
map.put("M", 1000);
map.put("CD", 400);
map.put("CM", 900);
int sum = 0;
for (int i = 0; i < s.length(); i++) {
if (i < s.length() - 1) {
String subString = s.substring(i, i + 2);
if (map.containsKey(subString)) {
sum += map.get(subString);
i ++;
} else {
sum += map.get(s.charAt(i) + "");
}
continue;
}
else {
sum += map.get(s.charAt(i) + "");
}
}
return sum;
}
}
leetcode 罗马数字转整数(java思路简单)
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 13. 题目 13. 罗马数字转整数 -> Link 罗马数字包含以下七种字符: I, V, X, L,C,D 和...
- 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 例如, 罗马数字 2 写做 II ,...
- 欢迎加我技术交流QQ群 :811956471下面的代码涵盖了 async...await 结合 Promise使...