您的位置:首页 > 其它

leetcode13. Roman to Integer

2017-11-01 10:00 246 查看
leetcode13. Roman to Integer

思路:

1.从最大的位开始,依次解析罗马数;

class Solution {
public:
int romanToInt(string s) {
map<string,int> convertSet;
convertSet["I"] = 1;
convertSet["V"] = 5;
convertSet["X"] = 10;
convertSet["L"] = 50;
convertSet["C"] = 100;
convertSet["D"] = 500;
convertSet["M"] = 1000;
convertSet["IV"] = 4;
convertSet["IX"] = 9;
convertSet["XL"] = 40;
convertSet["XC"] = 90;
convertSet["CD"] = 400;
convertSet["CM"] = 900;
string presents[13] = {"I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M"};

int step = 12;
int result = 0;
int cursor=0;
while(step>=0){
while(s.find(presents[step],cursor)==cursor && cursor<s.size()){

result += convertSet[presents[step]];
cursor += presents[step].size();
}
step--;
}
if(cursor<s.size()) return 0;
return result;

}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode13 Roman Integer