

int romanToInt(string s) {
if (s.empty()) return 0;
unordered_map<char, int> dict = {
{'I', 1},
{'V', 5},
{'X', 10},
{'L', 50},
{'C', 100},
{'D', 500},
{'M', 1000}
};
int ans = 0;
for (size_t i = 0; i < s.size() - 1; ++i) {
//如果后面的符号比前面的大,那么前面的就是减,否则就是加
ans += dict[s[i]] < dict[s[i + 1]] ? (-1 * dict[s[i]]) : dict[s[i]];
}
return ans + dict[s[s.size() - 1]];
}
博客围绕罗马数字转整数展开,运用C++语言实现该功能。在信息技术领域,这涉及到算法设计与编程语言的运用,能帮助开发者解决特定的数字转换问题。
2315

被折叠的 条评论
为什么被折叠?



