0
点赞
收藏
分享

微信扫一扫

LeetCode 13 罗马数字转整数 (C语言 简单易懂)

凛冬已至夏日未远 2022-01-23 阅读 29

题目:

示例1:

示例2:

示例3:

示例4:

示例5:

提示:

解题代码:

int romanToInt(char * s){
    int len = strlen(s);
    int nums = 0;
    for(int i = 0; i < len; i++){
        if(s[i] == 'V') nums += 5;
        if(s[i] == 'L') nums += 50;
        if(s[i] == 'D') nums += 500;
        if(s[i] == 'M') nums += 1000;
        if(s[i] == 'I'){
            if(s[i+1] == 'V' || s[i+1] == 'X')
                nums -= 1;
            else
                nums += 1;
        }
        if(s[i] == 'X'){
            if(s[i+1] == 'L' || s[i+1] == 'C')
                nums -= 10;
            else
                nums += 10;
        }
        if(s[i] == 'C'){
            if(s[i+1] == 'D' || s[i+1] == 'M')
                nums -= 100;
            else
                nums += 100;
        }
    }
    return nums;
}


请添加图片描述

举报

相关推荐

0 条评论