leetcode 13 Roman to Integer 罗马数组转整型
描述:
将一个字符串表示的罗马数字转为整数,范围0~3999
解决:
如果后一个比前一个大,则表示减,没什么技巧。
map<char, int> m = {{'I', 1}, {'V', 5}, {'X', 10}, {'L', 50}, {'C', 100}, {'M', 1000}, {'D', 500}}; int romanToInt(string s) { int ret = 0; int last = 1024; for (auto i : s) { if (m[i] > last) { ret = ret - last - last + m[i]; last = 1024; } else ret = ret + m[i]; last = m[i]; } return ret; }
【本文章出自博客园willaty,转载请注明作者出处,误差欢迎指出~】