leetcode ---13 羅馬數字轉整數
阿新 • • 發佈:2019-01-18
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 羅馬數字轉整數