#LEETCODE13. 羅馬數字轉整數

羅馬數字轉整數

題目描述

羅馬數字由七種不同的符號組成:I, V, X, L, C, DM

符號
I 1
V 5
X 10
L 50
C 100
D 500
M 1000

例如,數字 2 寫作 II,即兩個 1 相加。數字 12 寫作 XII,即 X + II。數字 27 寫作 XXVII,即 XX + V + II

羅馬數字通常按照從大到小的順序書寫。然而,數字 4 不是 IIII,而是 IV。因為 IV 之前,我們需要減去 1,因此得到 4。同樣的規則適用於數字 9(寫作 IX)。總共有以下六種減法規則:

  • I 可以放在 V (5) 和 X (10) 之前來表示 49
  • X 可以放在 L (50) 和 C (100) 之前來表示 4090
  • C 可以放在 D (500) 和 M (1000) 之前來表示 400900

給定一個羅馬數字,將其轉換為整數。


範例 1

輸入:
III

輸出:
3

解釋:
III = 3


範例 2

輸入:
LVIII

輸出:
58

解釋:
L = 50, V = 5, III = 3


範例 3

輸入:
MCMXCIV

輸出:
1994

解釋:

  • M = 1000
  • CM = 900
  • XC = 90
  • IV = 4

限制條件

  • 1 <= s.length <= 15
  • s 僅包含字符 'I', 'V', 'X', 'L', 'C', 'D', 'M'
  • 保證 s 是範圍 [1, 3999] 內的有效羅馬數字。