毎日のリートコードブラシの質問基本的なアルゴリズム-数学の質問-整数へのローマ数字

主題の要件:

ここに画像の説明を挿入
ここに画像の説明を挿入

嘘控除問題の解決策:

ここに画像の説明を挿入

コード

/**
 * @program: mydemo
 * @description: 罗马数字转整数
 * @author: Mr.zeng
 * @create: 2021-02-24 09:37
 **/
public class Solution35 {
    
    

    public int romanToInt(String s){
    
    
        int sum=0;
        int preNum=getValue(s.charAt(0));
        for (int i = 1; i < s.length(); i++) {
    
    
            int num=getValue(s.charAt(i));
            if(preNum<num){
    
    
                sum-=preNum;
            }else{
    
    
                sum+=preNum;
            }
            preNum=num;
        }
        sum+=preNum;
        return sum;
    }
    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;
        }
    }
}

おすすめ

転載: blog.csdn.net/weixin_42292697/article/details/114010614