LeetCode-Roman to Integer
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
class Solution {
public:
int romanToInt(string s) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int lastValue=0;
int value;
int total=0;
for(unsigned int i=0;i<s.size();i++){
char c= s.c_str()[i];
if(c=='I'){
value=1;
}
else if(c=='V'){
value=5;
}
else if(c=='X'){
value=10;
}
else if(c=='L'){
value=50;
}
else if(c=='C'){
value=100;
}
else if(c=='D'){
value=500;
}
else if(c=='M'){
value=1000;
}
else return 0;
if(value>lastValue){
total-=2*lastValue;
total+=value;
}
else{
total+=value;
}
lastValue=value;
}
return total;
}
};
浙公网安备 33010602011771号