—— Roman to Integer

13、Roman to Integer

羅馬數字轉整數

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

返回的結果要求在1到3999的範圍內。

樣例

IV -> 4

XII -> 12

XXI -> 21

XCIX -> 99

代碼:

class Solution {
public:
    int romanToInt(string s) {
        if(s.length()==0)return 0;
        unordered_map<char,int> T={{'I',1},
                                  {'V',5},
                                  {'X',10},
                                  {'L',50},
                                  {'C',100},
                                  {'D',500},
                                  {'M',1000}   };
        int result=T[s.back()];
        for(int i=s.length()-2;i>=0;i--)
        {
            if(T[s[i]]<T[s[i+1]])
                result-=T[s[i]];
            else
                result+=T[s[i]];
        }
         return result;
    }
   
};


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章