罗马数字转整数(C实现)

Leetcode题目链接

int Call(char c){switch(c){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 0;
}int romanToInt(char * s){int l=strlen(s),ret=0;for(int i=0;i<l;i++){ret+=Call(s[i]);if(i+1<l && Call(s[i])%3==1 && Call(s[i])<Call(s[i+1]) && (Call(s[i+1])/Call(s[i]))<=10)ret+=Call(s[i+1])-2*Call(s[i++]);}return ret;
}

执行用时: 4 ms
内存消耗: 5.7 MB


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部