zoukankan      html  css  js  c++  java
  • LeetCode 题目十三

    我的解答

    public int romanToInt(String s) {
            
            char[] cs = s.toCharArray();
            
            int arabicINumber = 1;
            int arabicVNumber = 5;
            int arabicXNumber = 10;
            int arabicLNumber = 50;
            int arabicCNumber = 100;
            int arabicDNumber = 500;
            int arabicMNumber = 1000;
            
            int res = 0;
            
            for (int i = 0; i < cs.length; i++) {
                
                switch (cs[i]) {
                
                case 'I':
                    if (i == cs.length - 1){
                        res = res + arabicINumber;
                    } else {
                        if (cs[i + 1] == 'V'){
                            res = res + (arabicVNumber - arabicINumber);
                            i++;
                            continue;
                        }
                        if (cs[i + 1] == 'X'){
                            res = res + (arabicXNumber - arabicINumber);
                            i++;
                            continue;
                        }
                        res = res + arabicINumber;
                    }
                    continue;
                    
                case 'X':
                    if (i == cs.length - 1){
                        res = res + (arabicXNumber);
                    } else {
                        if (cs[i + 1] == 'L'){
                            res = res + (arabicLNumber - arabicXNumber);
                            i++;
                            continue;
                        }
                        if (cs[i + 1] == 'C'){
                            res = res + (arabicCNumber - arabicXNumber);
                            i++;
                            continue;
                        }
                    }
                    continue;
                    
                case 'C':
                    if (i == cs.length - 1){
                        res = res + (arabicCNumber);
                    } else {
                        if (cs[i + 1] == 'D'){
                            res = res + (arabicDNumber - arabicCNumber);
                            i++;
                            continue;
                        }
                        if (cs[i + 1] == 'M'){
                            res = res + (arabicMNumber - arabicCNumber);
                            i++;
                            continue;
                        }
                    }
                    continue;
                    
                case 'V':
                    res = res + (arabicVNumber);
                    continue;
                    
                case 'L':
                    res = res + (arabicLNumber);
                    continue; 
                    
                case 'D':
                    res = res + (arabicDNumber);
                    continue; 
                    
                case 'M':
                    res = res + (arabicMNumber);
                    continue; 
    
                }
            }
            
            return res;
            
        }
  • 相关阅读:
    iOS控制器之基类设计
    看图理解JWT如何用于单点登录
    Linux内核启动过程概述
    html5 canvas 粒子特效
    linux上svn版本库创建小记
    HTML5 实现橡皮擦的擦除效果
    Web Audio API 实现音频可视化
    用javascript实现简单排序算法
    简单酷炫的Canvas数字时钟
    Html5游戏框架createJs的简单用法
  • 原文地址:https://www.cnblogs.com/zhangqian27/p/10969081.html
Copyright © 2011-2022 走看看