LeetCode【13】

1.题目

在这里插入图片描述
是一道简单题

2.思路

简单粗暴的解题,对字符窜进行遍历,出现‘I’就加上一,出现‘V’就加上5,出现‘X’就加上10,以此类推。再看字符窜中是否出现IV出现就减去2,出现IX就减去2,出现XL就减去20,出现XC就减去20,下两个减去200。这样做的基础就是像表示4的IV只会出现一次,表示9的IX只会出现一次。。。

3.贴图打卡

在这里插入图片描述
贴代码

class Solution {
    public int romanToInt(String s) {
        int val = 0;
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < s.length(); i++) {
            switch (s.charAt(i)) {
                case 'I':
                    val++;
                    break;
                case 'V':
                    val += 5;
                    break;
                case 'X':
                    val += 10;
                    break;
                case 'L':
                    val += 50;
                    break;
                case 'C':
                    val += 100;
                    break;
                case 'D':
                    val += 500;
                    break;
                case 'M':
                    val += 1000;
                    break;
            }
        }
        if (s.contains("IV")) {
            val -= 2;
        }
        if (s.contains("IX")) {
            val -= 2;
        }
        if (s.contains("XL")) {
            val -= 20;
        }
        if (s.contains("XC")) {
            val -= 20;
        }
        if (s.contains("CD")) {
            val -= 200;
        }
        if (s.contains("CM")) {
            val -= 200;
        }
        return val;
    }
}

猜你喜欢

转载自blog.csdn.net/u012385160/article/details/89251229
今日推荐