1.トピック
それは単純な質問です
2.アイデア
トラバースチャネリングがプラスに「私は」発生し、シンプルかつ粗製の文字を解決するには「V」を表示されたプラス5、ように「X」にプラス10に表示され、そして。文字を見てIVをチャネリングに表示されますが、2、マイナス2マイナスはIXに見えるように見えますが、XLはマイナス20を表示され、マイナス20は、2つのマイナス200の下XCを、表示されます。一度だけ、彼はIX 9は一度だけ表示されます表現IV 4として、これを基に表されます。。。
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;
}
}