解法一
/**
* @param {string} s
* @return {number}
*/
var romanToInt = function(s) {
let num=0;
for(let i=0;i<s.length;i++){
if(s[i] === 'M' && s[i-1] !== 'C'){
num+=1000;
}
if(s[i]==='C' && s[i+1]==='M'){
num+=900;
}
if(s[i]==='C' && s[i+1]==='D'){
num+=400;
}
if(s[i]==='C' && s[i+1] !=='D' && s[i+1] !=='M' && s[i-1]!=='X' ){
num+=100;
}
if(s[i]==='X' && s[i+1]==='L'){
num+=40;
}
if(s[i]==='X' && s[i+1]==='C'){
num+=90;
}
if(s[i]==='X' && s[i+1] !=='L' && s[i+1] !=='C' && s[i-1]!=='I'){
num+=10;
}
if(s[i]==='I' && s[i+1]==='V'){
num+=4;
}
if(s[i]==='I' && s[i+1]==='X'){
num+=9;
}
if(s[i]==='I' && s[i+1] !=='V' && s[i+1] !=='X' && (i+1)<=s.length){
num+=1;
}
if(s[i]=='V' && s[i-1] !== 'I'){
num+=5;
}
if(s[i]=='L' && s[i-1] !== 'X'){
num+=50;
}
if(s[i]=='D' && s[i-1] !== 'C'){
num+=500;
}
}
return num;
};
思路:穷举法
可以使用正则表达式