只要明白了羅馬數字的基本道理,把羅馬數字轉爲整數其實很簡單,
羅馬數字有I V X L C D M 組成,分別表明1,5, 10, 50,100,500,1000
而後這幾個字母在一塊組成一個數.字母組合的規則有兩個:javascript
其實還有挺多細節的,可是這個題目須要的只有這些,瞭解這些就足夠了.
而後按照上面的兩條邏輯,就可寫出下面的代碼.
除了這個題目的解法以外,還有要注意寫法,若是變量爲不變的,那就定義爲const,假如只在此做用域起做用,就定義爲let,通過我本身的實踐,用這兩種代替var,能夠提升程序的運行速度,因此,咱們從開始就要養成良好的編程習慣.java
這種解法不是最優的,但應該是比較簡單直觀.因此今天發這種解法.後面可能更新別的解法編程
var romanToInt = function(s) { const arr = s.split(''); const map = { I: 1, V: 5, X: 10, L: 50, C: 100, D: 500, M: 1000, } let len = arr.length; let num = map[arr[len-1]]; for(let i = len-2; i >=0; i--) { let addNum = map[arr[i]]; if (addNum >= map[arr[i+1]]) num += addNum; else num -= addNum; } return num; };