- C++
class Solution { public: int romanToInt(string s) { int length = s.length(); int res = 0; for(int i=0;i<length;i++){ if(s[i]=='M'){ res += 1000; }else if(s[i]=='C'){ if((i+1)<length){ if(s[i+1]=='D'){ res += 400; i++; }else if(s[i+1]=='M'){ res += 900; i++; }else{ res += 100; } }else{ res += 100; } }else if(s[i]=='D'){ res += 500; }else if(s[i]=='X'){ if((i+1)<length){ if(s[i+1]=='L'){ res += 40; i++; }else if(s[i+1]=='C'){ res += 90; i++; }else{ res += 10; } }else{ res += 10; } }else if(s[i]=='L'){ res += 50; }else if(s[i]=='I'){ if((i+1)<length){ if(s[i+1]=='V'){ res += 4; i++; }else if(s[i+1]=='X'){ res += 9; i++; }else{ res += 1; } }else{ res += 1; } }else{ res += 5; } } return res; } };
LeetCode-13 罗马数字转整数
最新推荐文章于 2022-08-09 09:40:57 发布