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;
    }
};
原文地址:https://www.cnblogs.com/superzrx/p/3297857.html