1. 程式人生 > >leetcode ---13 羅馬數字轉整數

leetcode ---13 羅馬數字轉整數

str 得到 bsp color 開始 length 遍歷 leet urn

首先建map映射關系,將阿拉伯數與羅馬數字一一對應。然後建立兩個值,一個用來得到現在遍歷的值,另一個用於保存上一個值,從整個數組最後一位開始向前遍歷,當當前數字比上一個數大時,直接加上,當當前值比上一個小時,直接減去。最後遍歷結束返回、

  int romanToInt(string s) {
        int sum=0;
        map<char,int>m;
        m[I]=1;
        m[V]=5;
        m[X]=10;
        m[L]=50;
        m[C]=100;
        m[D
]=500; m[M]=1000; int temp=0; int temp1=0; for(int i=s.length()-1;i>=0;i--) { temp=m[s[i]]; if(temp>=temp1) { sum+=temp; temp1=temp; } else { sum
-=temp; temp1=temp; } } return sum; }

leetcode ---13 羅馬數字轉整數