Simple Solution in C++ in O(n)


#1

Comment body goes here.int value(char c)
{
if(c==‘I’)
{
return 1;
}
if(c==‘V’)
{
return 5;
}
if(c==‘X’)
{
return 10;
}
if(c==‘L’)
{
return 50;
}
if(c==‘C’)
{
return 100;
}
if(c==‘D’)
{
return 500;
}
else {
return 1000;
}
}
int Solution::romanToInt(string A) {
int res=0;
for(int i=0;i<A.length();i++){
int s1=value(A[i]);
if(i+1<A.length())
{
int s2=value(A[i+1]);
if(s1>=s2)
{
res+=s1;
}
else
{
res=res+s2-s1;
i++;
}
}
else
{
res=res+s1;
}
}
return res;
}