13題 羅馬數字轉整數

2021-10-22 12:39:54 字數 1101 閱讀 4204

13. 羅馬數字轉整數

遍歷字串每乙個字元,遇到相應的字元就加對應的數值,但需要注意題目所給出的六種特殊情況,所以要用乙個字元變數記錄當前字元的前乙個字元,二者組合是否符合六種特殊情況,屬於就加特殊的數值,不然就加正常的數值。

方法一:

class

solution

switch

(curr_c)

else

break

;case

'x':

if(prev_c ==

'i')

else

break

;case

'l':

if(prev_c ==

'x')

else

break

;case

'c':

if(prev_c ==

'x')

else

break

;case

'd':

if(prev_c ==

'c')

else

break

;case

'm':

if(prev_c ==

'c')

else

break;}

}return result;

}}

方法二:

class solution {

public static int romantoint(string s) {

//把六種特殊情況進行替換,後面統一處理

s = s.replace("iv","a");

s = s.replace("ix","b");

s = s.replace("xl","c");

s = s.replace("xc","d");

s = s.replace("cd","e");

s = s.replace("cm","f");

int result = 0;

for (int i=0; i

13 羅馬數字轉整數

羅馬數字包含以下七種字元 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。通常情況下,羅馬數字中小的數字在大的數...

13 羅馬數字轉整數

羅馬數字包含以下七種字元 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。通常情況下,羅馬數字中小的數字在大的數字...

13 羅馬數字轉整數

羅馬數字包含以下七種字元 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 通常情況下,羅馬數字中...