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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章