前言我们社区会继续整理谷一(NetflixGrowthHacker,《iOS 面试之道》作者,ACE职业健身教练。微博:@古谣道长[1])为文字版,方便大家学习阅读。到目前为止,我们已经更新了12期的LeetCode算法。我们会保持更新时间和进度(周一、周三、周五上午9:00发布)。每期内容不多。希望大家在上班的路上读一读,积累久了会有很大的提升。不积步,无以至万里;不积小流,则不成江海。Swift社区将陪伴您一路前行。如果您有建议和意见,请在文末留言,我们将尽力满足您的需求。难度等级:简单1.描述由以下七个字符组成的罗马数字:I、V、X、L、C、D、M。例如,罗马数字2写成II,即两个并列的1。12写成XII,即X+II。27写作XXVII,即XX+V+II。通常,罗马数字中较小的数字位于较大数字的右侧。但也有例外,比如4不写成IIII,而是写成IV。数字1在数字5的左边,表示的数字等于数字5减去数字1得到的值4。同理,数字9表示为IX。这个特殊规则只适用于以下六种情况:I可以放在V(5)和X(10)的左边代表4和9X可以放在L(50)和C(100)的左边)表示40和90。C可以放在D(500)和M(1000)的左边,表示400和900。给定一个罗马数字,将其转换为整数。2.示例示例1输入:s="III"输出:3示例2输入:s="IV"输出:4示例3输入:s="IX"输出:9示例4输入:s="LVIII"输出:58解释:L=50,V=5,III=3。示例5输入:s="MCMXCIV"输出:1994解释:M=1000,CM=900,XC=90,IV=4。约束:1<=s.length<=15s只包含字符('I','V','X','L','C','D','M')标题数据保证s是一个有效的罗马数字,表示整数在[1,3999]范围内。题目给出的测试用例均符合罗马数字的书写规则,不会出现交叉数字。IL、IM等例子不符合题目要求。49应该写成XLIX,999应该写成CMXCIX罗马数字的详细写法可以参考罗马数字-数学[2]3。答案classRomanToInteger{funcromanToInt(s:String)->Int{letdict=initDict()letchars=[Character](s.characters.reverse())varres=0foriin0..
