這一題目關鍵是理解題意!!!
題目中說了,羅馬數字中小的數字一般放在大的數字後面,但有特殊情況,是有且只有6種:iv/ix xl/xc cd/cm
所以不存在il解釋為150這種說法,因為這種組合根!本!不!合!法!
所以可以搞乙個map先儲存所有字元到數字的對映,然後從頭到尾遍歷字串,如果左邊的字元比右邊的字元代表的數值小,就讓結果加上這2個數之差,然後去遍歷之後的,否則加上當前的字元即可。特別注意結尾字元是否被算進去了。
class solution
else
}if(i==s.size()-1)
ans+=tmp[s[i]];
return ans;}};
LeetCode 羅馬數字轉整數
一.羅馬數字轉整數 羅馬數字包含以下七種字元 i,v,x,l,c,d 和 m。字元 數值 i 1v 5 x 10 l 50 c 100 d 500 m 1000 例如,羅馬數字 2 寫做 ii 即為兩個並列的 1。12 寫做 xii 即為 x ii 27 寫做 xxvii,即為 xx v ii 通常...
Leetcode 整數轉羅馬數字
題目描述 羅馬數字包含以下七種字元 i,v,x,l,c,d和m。字元數值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。通常情況下,羅馬數字中小的數字在...
LeetCode 整數轉羅馬數字
題目如下 點此讀題 羅馬數字包含以下七種字元 i,v,x,l,c,d 和 m。字元 數值 i 1v 5 x 10 l 50 c 100 d 500 m 1000 例如,羅馬數字 2 寫做 ii 即為兩個並列的 1。12 寫做 xii 即為 x ii 27 寫做 xxvii,即為 xx v ii 通常...