其他分享
首页 > 其他分享> > Leetcode第十三题——罗马数字转整数

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

作者:互联网

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

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;
        }
    }

 

标签:charAt,int,sum,preNum,罗马数字,num,Leetcode,第十三
来源: https://www.cnblogs.com/resort-033/p/13585146.html