LeetCode 13 羅馬數字轉整數

2021-10-05 04:04:09 字數 949 閱讀 6077

思路一:從字串0位置開始遍歷,依次判斷每一種可能。

public int romantoint(string s)  else if (str[i] == 'd')  else if (str[i] == 'c' && (i + 1 < str.length && str[i + 1] == 'd'))  else if (str[i] == 'c' && (i + 1 < str.length && str[i + 1] == 'm'))  else if (str[i] == 'x' && (i + 1 < str.length && str[i + 1] == 'l'))  else if (str[i] == 'x' && (i + 1 < str.length && str[i + 1] == 'c'))  else if (str[i] == 'i' && (i + 1 < str.length && str[i + 1] == 'v'))  else if (str[i] == 'i' && (i + 1 < str.length && str[i + 1] == 'x'))  else if (str[i] == 'c')  else if (str[i] == 'l')  else if (str[i] == 'x')  else if (str[i] == 'v')  else if (str[i] == 'i') 

}return result;

}

思路二:從字串0位置開始遍歷,若遍歷到的字元所對應的數字比前乙個字元對應的數字小,則結果中減去該字元所對應的數字,否則,相加。

public int romantoint_2(string s)  else 

prenum = num;

}result += prenum;

return result;

}private int getnum(char c)

}

leetcode 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。通常情況下,羅馬數字中小的數字在大的數字...

leetcode 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。通常情況下,羅馬數字中小的數字在大的數字的...

Leetcode 13 羅馬數字轉整數

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