和大神们学习每天一题(leetcode)-Roman to Integer
2014-12-01 10:23
429 查看
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
I - 1
V - 5
X - 10
L - 50
C - 100
D - 500
M - 1000
If a lower value symbol is before a higher value one, it is subtracted. Otherwise it is added.
So 'IV' is '4' and 'VI' is '6'.
And for adding 'XIII' makes '13'
For the numbers above X, only the symbol right before it may be subtracted: so 99 is: XCIX (and not IC).
Input is guaranteed to be within the range from 1 to 3999.
I - 1
V - 5
X - 10
L - 50
C - 100
D - 500
M - 1000
If a lower value symbol is before a higher value one, it is subtracted. Otherwise it is added.
So 'IV' is '4' and 'VI' is '6'.
And for adding 'XIII' makes '13'
For the numbers above X, only the symbol right before it may be subtracted: so 99 is: XCIX (and not IC).
class Solution { public: int romanToInt(string s) { int nsLen = s.length(); int nRemain = 0 ,nNumFor = 0 ,nNumLat ,nSum = 0; for (int nTemp = 0; nTemp < nsLen; nTemp++) { switch (s[nTemp]) { case 'I' : nNumLat = 1; break; case 'V': nNumLat = 5; break; case 'X': nNumLat = 10; break; case 'L': nNumLat = 50; break; case 'C': nNumLat = 100; break; case 'D': nNumLat = 500; break; case 'M': nNumLat = 1000; break; default: break; } if (nNumLat < nNumFor) { nSum += nRemain; nRemain = nNumLat; } else if (nNumLat == nNumFor) { nRemain += nNumLat; } else { nRemain = nNumLat - nRemain; } nNumFor = nNumLat; } nSum += nRemain; return nSum; } };
相关文章推荐
- 和大神们学习每天一题(leetcode)-Best Time to Buy and Sell Stock II
- 和大神们学习每天一题(leetcode)-Sum Root to Leaf Numbers
- 和大神们学习每天一题(leetcode)-Best Time to Buy and Sell Stock
- LeetCode编程练习 - Roman to Integer学习心得
- [Leetcode 17] 13 Roman to Integer
- 【leetcode】Roman to Integer
- [leetCode] Integer to Roman
- [Leetcode 44] 12 Integer To Roman
- [LeetCode]Roman to Integer
- LeetCode12: Integer to Roman
- [LeetCode] Roman To Integer 解题报告
- [LeetCode] Integer to Roman 解题报告
- Leetcode: Integer to Roman
- LeetCode: Integer to Roman
- LeetCode Integer to Roman
- 【leetcode】Integer to Roman
- leetcode roman to integer
- leetcode integer to roman number conversion
- LeetCode Online Judge 题目C# 练习 - Integer to Roman
- LeetCode: Integer to Roman