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