[LeetCode] 13. Roman to Integer

</br>


Given a roman numeral, convert it to an integer.

Input is guaranteed to be within the range from 1 to 3999.


</br>

Solution

The rule for the conversion from roman numeral to integer is

'M' -> 1000
'D' -> 500
'C' -> 100
'L' -> 50
'X' -> 10
'V' -> 5
'I' -> 1

And when smaller number is in front of a bigger number, then smaller number should be subtracted from the latter one.

Hence, we can first translate the roman numeral to normal integer number, and then apply the second rule we mentioned above to determine we should add or minus this particular number.

The code is shown as below.

Java

public class Solution {
    public int romanToInt(String s) {
        
        int string[] = new int[s.length()];
        int sum = 0;
        
        for(int i = 0; i < s.length(); i++){
            switch (s.charAt(i)){
                case 'M':
                    string[i] = 1000;
                    break;
                case 'D':
                    string[i] = 500;
                    break;
                case 'C':
                    string[i] = 100;
                    break;
                case 'L':
                    string[i] = 50;
                    break;
                case 'X' :
                    string[i] = 10;
                    break;
                case 'V':
                    string[i] = 5;
                    break;
                case 'I':
                    string[i] = 1;
                    break;
            }
        }
        
        for(int i = 0; i < string.length-1; i++){
            if(string[i] < string[i+1])
                sum -= string[i];
            else
                sum += string[i];
        }
        
        return sum + string[string.length-1];
    }
}

</br>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 2008年一個(gè)來自貴州偏遠(yuǎn)農(nóng)村的小伙鄒市明,憑借自己的努力獲得了48公斤奧運(yùn)金牌。自此,走進(jìn)了大家的眼前! 201...
    走走看看121閱讀 165評(píng)論 0 0
  • KVO Key-Value observing(KVC),鍵值觀察,它提供一種機(jī)制,當(dāng)被觀察的對(duì)象的屬性被修改后,...
    iOS_陳楠閱讀 697評(píng)論 1 51
  • 有一句話說:女孩子是沒有愛情的,誰對(duì)她好,她就跟誰走了。 還有一句話說:你愛的,你想的,你牽掛的,最終會(huì)輸給對(duì)你好...
    洛小婭閱讀 846評(píng)論 1 2
  • 從前有一個(gè)完美的家庭,家里有兩個(gè)小女孩分別是:姐姐Aeny和妹妹Arny,她們的媽媽是一位女警察,非常厲害,破過很...
    菲菲公主_d442閱讀 692評(píng)論 0 1
  • composer n.作家;作曲家;設(shè)計(jì)者M(jìn)ozart is a great composer at his ti...
    Flannery閱讀 456評(píng)論 0 0

友情鏈接更多精彩內(nèi)容