当前位置 博文首页 > 文章内容

    Leetcode第十三题——罗马数字转整数

    作者: 栏目:未分类 时间:2020-08-30 14:00:28

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    思路:小的在左就去减,大的就加。

    public int romanToInt(String s){
          int preNum= getValue(s.charAt(0));
          int num=0;
          int sum=0;
          for(int i=1;i<s.length();i++){
              num=getValue(s.charAt(i));
              if(preNum<num){
                  sum-=preNum;//左边减去
              }else{
                  sum+=preNum;
              }
              preNum=num;
    
    
          }
          sum+=preNum;//相加最后一位
          return sum;
    
    
    
    
    
    
    
    
        }
        public static int getValue(char ch){
            if(ch=='M'){
                return 1000;
            }else if(ch=='D'){
                return 500;
            }else if(ch=='C'){
                return 100;
            }else if(ch=='L'){
                return 50;
            } else if (ch == 'X') {
                return 10;
            }else if(ch=='V'){
                return 5;
            }else if(ch=='I'){
                return 1;
            }else{
                return 0;
            }
        }