13. 罗马数字转整数

简介:

class Solution {

public int romanToInt(String s) {
    int result = 0;
    int preValue = getValue(s.charAt(0));
    int value = 0;
    for(int i = 1;i < s.length();i++){
        value = getValue(s.charAt(i));
        //只对前一个数做加减运算
        if(value > preValue){
            result -= preValue;
        }else{
            result += preValue;
        }            
        preValue = value;
    }
    //只对前一个数做加减运算
    result += preValue;
    return result;
}

private int getValue(char ch){
    switch(ch){
        case 'I':
            return 1;
        case 'V':
            return 5;
        case 'X':
            return 10;
        case 'L':
            return 50;
        case 'C':
            return 100;
        case 'D':
            return 500;
        case 'M':
            return 1000;
        default:
            return 0;

    }
}

}

相关文章
|
3月前
|
Java
罗马数字转整数
这篇文章提供了一个Java方法,用于将罗马数字转换为整数,通过一个字符一个字符地解析罗马数字字符串并根据特定规则进行相应的加法或减法运算。
|
6月前
13. 罗马数字转整数
13. 罗马数字转整数
39 2
|
6月前
12. 整数转罗马数字
12. 整数转罗马数字
55 1
|
5月前
|
算法
12.整数转罗马数字
12.整数转罗马数字
|
5月前
13.罗马数字转整数
13.罗马数字转整数
|
6月前
|
测试技术
【力扣】13. 罗马数字转整数、12. 整数转罗马数字
【力扣】13. 罗马数字转整数、12. 整数转罗马数字
LeetCode:13、罗马数字转整数
LeetCode:13、罗马数字转整数
|
6月前
|
测试技术 C++
罗马数字转整数(C++)
罗马数字转整数(C++)
64 0
|
6月前
leetcode-12:整数转罗马数字
leetcode-12:整数转罗马数字
39 0
|
6月前
leetcode-13:罗马数字转整数
leetcode-13:罗马数字转整数
38 0