class Solution {
public:
int romanToInt(string s) {
if (s.empty()) {
return 0;
}
std::unordered_map<char, int> map{
{'I', 1},
{'V',5},
{'X', 10},
{'L', 50},
{'C', 100},
{'D', 500},
{'M', 1000}
};
int result = 0;
int n = s.length();
int last = map[s[n - 1]];
result += last;
for(int i = n - 2; i >=0; i--) {
int num = map[s[i]];
if(num >= last) {
result += num;
} else {
result -= num;
}
last = num;
}
return result;
}
};
3/30/2014
Leetcode -- Roman to Integer
Solution 03/30/2014
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment