Leetcode - 罗马数字转整数
程序员文章站
2022-06-17 19:48:52
...
解题思路:(C#)
将所有可能出现的罗马数字组合列出来用其他字符代替,找出所有可能的情况以后,用switch语句进行对数组s中所有字符的遍历操作,将所有遇到的情况对应的数值相加即可。
public class Solution {
public int RomanToInt(string s) {
s=s.Replace("IV","Y");
s=s.Replace("IX","T");
s=s.Replace("XL","U");
s=s.Replace("XC","R");
s=s.Replace("CD","O");
s=s.Replace("CM","W");
int sum=0;
int i=0;
for (i=0;i<s.Length;i++){
switch (s[i]){
case 'M':
sum+=1000;
break;
case 'W':
sum+=900;
break;
case 'D':
sum+=500;
break;
case 'O':
sum+=400;
break;
case 'C':
sum+=100;
break;
case 'R':
sum+=90;
break;
case 'L':
sum+=50;
break;
case 'U':
sum+=40;
break;
case 'X':
sum+=10;
break;
case 'T':
sum+=9;
break;
case 'V':
sum+=5;
break;
case 'Y':
sum+=4;
break;
case 'I':
sum+=1;
break;
}
}
return sum;
}
}
上一篇: java 动态代理原理