这还是一道简单题,但是如果想不到相邻字符串之间的关系,就很难有思路。
例:‘IV’对应4,‘VI’对应5;‘IX’对应9,‘XI’对应11。那么如果一个字符对应的数字比它下一位字符对应的数字大,那么我们就应该加上该字符对应的数字,反之就要减去。
#include//稳妥起见写上字符串库 int Judge(char x) //对应的表函数 { switch(x) { case 'I':return 1; case 'V':return 5; case 'X':return 10; case 'L':return 50; case 'C':return 100; case 'D':return 500; case 'M':return 1000; //因为写在函数里,所以return就会退出,无需break } return 0; //象征性地写一写否则会报错 } int romanToInt(char * s){ int len = strlen(s); int result = 0; for(int i=0;i
class Solution: def romanToInt(self, s: str) -> int: dic = { 'I':1, #一个映射字典 'V':5, 'X':10, 'L':50, 'C':100, 'D':500, 'M':1000 } result = 0 #实现方法和c语言相同 for i in range(len(s)): if i
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)