LeetCode - 数组系列 - 罗马数字转整数

  • 题目:罗马数字转整数

  • 难度:简单

  • 题目描述:
    在这里插入图片描述- 示例 1:
    输入: “III”
    输出: 3

  • 示例 2:
    输入: “IV”
    输出: 4

  • 示例 3:
    输入: “IX”
    输出: 9

  • 示例 4:
    输入: “LVIII”
    输出: 58
    解释: L = 50, V= 5, III = 3.

  • 示例 5:
    输入: “MCMXCIV”
    输出: 1994
    解释: M = 1000, CM = 900, XC = 90, IV = 4.

C语言算法:根据题意进行逻辑判断
在这里插入图片描述

int romanToInt(char * s){
	int count = 0;
	while (*s){
		if (*s == 'V')         count += 5;
		else if (*s == 'L')    count += 50;
		else if (*s == 'D')    count += 500;
		else if (*s == 'M')    count += 1000;
		else if (*s == 'I')
			count = (*(s + 1) == 'V' || *(s + 1) == 'X') ? count - 1 : count + 1;
		else if (*s == 'X')
			count = (*(s + 1) == 'L' || *(s + 1) == 'C') ? count - 10 : count + 10;
		else
			count = (*(s + 1) == 'D' || *(s + 1) == 'M') ? count - 100 : count + 100;
		s++;
	}
	return count;
}

猜你喜欢

转载自blog.csdn.net/weixin_45437022/article/details/106662303