Kindly pl correct my if-else statement if you get the position where i made the mistake.Pl ignore space-time complexity for this problem.Ignore conditions i have checked they are correct.I have correct conditions applied,i am thinking of using switch statements instead of if-else.Tell me the mistakes so that i can correct them in my if statements.
class Solution {
public:
int romanToInt(string s) {
int sum = 0;
int g = s.length();
for(int start=0;start<g;start++){
int k = (start-1);
if(s[start]== 'V' || s[start]== 'X' && k>=0){
if(s[k]=='I'){
if(s[start]=='V'){
sum=sum+4;
}
if(s[start]=='X'){
sum=sum+9;
}
}
else{
if(s[start]== 'V'){
sum=sum+5;
}
if(s[start]=='X'){
sum=sum+10;
}
}
}
if(s[start]=='L' || s[start]=='C'&& k>=0 ){
if(s[k]=='X'){
if(s[start]=='L'){
sum = sum+40;
}
if(s[start]=='C'){
sum = sum+90;
}
}
else{
if(s[start]=='L'){
sum = sum+50;
}
if(s[start]=='C'){
sum = sum+100;
}
}
}
if(s[start]=='D' || s[start]=='M' && k>=0){
if(s[k]=='C'){
if(s[start]=='D'){
sum = sum+400;
}
if(s[start]=='M'){
sum = sum+900;
}
}
else{
if(s[start]=='D'){
sum = sum+500;
}
if(s[start]=='M'){
sum = sum+1000;
}
}
}
if(s[start]=='I' && s[start+1] !='V' || s[start+1] !='X'){
sum = sum+1;
}
if(s[start]=='X' && s[start+1] !='L' || s[start+1] !='C'){
sum = sum+10;
}
if(s[start]=='C' && s[start+1] !='D' || s[start+1] !='M'){
sum = sum+100;
}
}
return sum;
}
};