1.题目
是一道简单题
2.思路
简单粗暴的解题,对字符窜进行遍历,出现‘I’就加上一,出现‘V’就加上5,出现‘X’就加上10,以此类推。再看字符窜中是否出现IV出现就减去2,出现IX就减去2,出现XL就减去20,出现XC就减去20,下两个减去200。这样做的基础就是像表示4的IV只会出现一次,表示9的IX只会出现一次。。。
3.贴图打卡
贴代码
class Solution {
public int romanToInt(String s) {
int val = 0;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
switch (s.charAt(i)) {
case 'I':
val++;
break;
case 'V':
val += 5;
break;
case 'X':
val += 10;
break;
case 'L':
val += 50;
break;
case 'C':
val += 100;
break;
case 'D':
val += 500;
break;
case 'M':
val += 1000;
break;
}
}
if (s.contains("IV")) {
val -= 2;
}
if (s.contains("IX")) {
val -= 2;
}
if (s.contains("XL")) {
val -= 20;
}
if (s.contains("XC")) {
val -= 20;
}
if (s.contains("CD")) {
val -= 200;
}
if (s.contains("CM")) {
val -= 200;
}
return val;
}
}