Roman to Integer

来源:互联网 发布:nginx errorlog 编辑:程序博客网 时间:2024/05/01 00:20

my answer:


int search(char x)

{
    switch(x)
    {
        case 'I': return 1;
        case 'V': return 5;
        case 'X': return 10;
        case 'L': return 50;
        case 'C': return 100;
        case 'D': return 500;
        case 'M': return 1000;
        default: return 0;
    }
}
int romanToInt(char* s) {
    int i=0;
    int sum=search(s[0]);
    for(i=1; i<strlen(s); i++)
    {
        if(search(s[i]) <= search(s[i-1]))
            sum += search(s[i]);
        else
            sum += search(s[i]) - 2*search(s[i-1]);
        
    }
    return (sum >=1 && sum<=3999)?sum:0;
}
原创粉丝点击