侧边栏壁纸
博主头像
阿里灰太狼博主等级

You have to believe in yourself . That's the secret of success.

  • 累计撰写 104 篇文章
  • 累计创建 50 个标签
  • 累计收到 12 条评论

目 录CONTENT

文章目录

leetcode-13. 罗马数字转整数

阿里灰太狼
2021-11-10 / 0 评论 / 0 点赞 / 160 阅读 / 495 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-11-10,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

cj38.pngcj39.pngcj40.png

JAVA解法

class Solution {
    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;
        }
    }
}

leetcode原题: 13. 罗马数字转整数

0

评论区