c++
class Solution {
public:
int romanToInt(string s) {
int m[256];
int ans=0;
m['I'-'0']=1;
m['V'-'0']=5;
m['X'-'0']=10;
m['L'-'0']=50;
m['C'-'0']=100;
m['D'-'0']=500;
m['M'-'0']=1000;
for(int i=0;i<s.length();i++){
if(i!=s.length()-1){
if(m[s[i]-'0']<m[s[i+1]-'0']){
ans=ans-m[s[i]-'0'];
}
else{
ans=ans+m[s[i]-'0'];
}
}
else{
ans=ans+m[s[i]-'0'];
}
}
return ans;
}
};
java
class Solution {
public int romanToInt(String s) {
int m[]=new int[256];
int ans=0;
m['I'-'0']=1;
m['V'-'0']=5;
m['X'-'0']=10;
m['L'-'0']=50;
m['C'-'0']=100;
m['D'-'0']=500;
m['M'-'0']=1000;
for(int i=0;i<s.length();i++){
if(i!=s.length()-1){
if(m[s.charAt(i)-'0']<m[s.charAt(i+1)-'0']){
ans=ans-m[s.charAt(i)-'0'];
}
else{
ans=ans+m[s.charAt(i)-'0'];
}
}
else{
ans=ans+m[s.charAt(i)-'0'];
}
}
return ans;
}
}