题目:罗马数字转整数
难度:Easy
对于这个题目,可以简单理解为对于每一个罗马数字都进行解析,然后与下一个罗马数字进行比较,这样就能得到几种情况。1.如果左边的罗马数字小于右边的,直接大的减去小的。2.其余情况就是直接相加即可。那么显然工作就是要首先有一个方法可以直接得出每一个对应的罗马数字所对应的阿拉伯数字是多少,然后再根据前面所述的数字进行比较就能得出结果。
利用到的方法:charAt(),根据index获得对应的char
import java.util.*;
class Solution {
public int romanToInt(String s) {
int sum=0;
int prenum=romanToGet(s.charAt(0));
for(int i=1;i<s.length();i++){
int num=romanToGet(s.charAt(i));
if(prenum<num){
sum-=prenum;
}else{
sum+=prenum;
}
prenum=num;
}
sum+=prenum;
return sum;
}
public int romanToGet(char ch){
switch(ch){
case'I':return 1;
case'V':return 5;
case'X':return 10;
case'L':return 50;
case'C':return 100;
case'D':return 500;
case'M':return 1000;
default:return 0;
}
}
}