leecode错误心得
题目:13罗马数字转整数
题目详情:
给定一个罗马数字,将其转换成整数。
输入确保在 1 到 3999 的范围内
错误之处:
错把i+1写成了i++
// An highlighted block
class Solution {
public:
int romanToInt(string s) {
int ans=0;
int i=0;
for(i=0;i<s.size();i++){
if(s[i]=='I'){
if(s[i+1]=='V'){
ans+=4;
i++;
continue;
}
else if(s[i+1]=='X'){
ans+=9;
i++;
continue;
}
else {
ans+=1;
continue;
}
}
if(s[i]=='X'){
if(s[i+1]=='L'){
ans+=40;
i++;
continue;
}
else if(s[i+1]=='C'){
ans+=90;
i++;
continue;
}
else ans+=10;
continue;
}
if(s[i]=='C'){
if(s[i+1]=='D'){
ans+=400;
i++;
continue;
}
else if(s[i+1]=='M'){
ans+=900;
i++;
continue;
}
else ans+=100;
continue;
}
if(s[i]=='V') ans+=5;
if(s[i]=='L') ans+=50;
if(s[i]=='D') ans+=500;
if(s[i]=='M') ans+=1000;
}
return ans;
}
};