13.罗马数字转成整形 Roman to Integer
Posted Long Long Journey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了13.罗马数字转成整形 Roman to Integer相关的知识,希望对你有一定的参考价值。
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
public class Solution {
public int RomanCharToInt(char c)
{
switch (c)
{
case ‘I‘:
return 1;
case ‘V‘:
return 5;
case ‘X‘:
return 10;
case ‘L‘:
return 50;
case ‘C‘:
return 100;
case ‘D‘:
return 500;
case ‘M‘:
return 1000;
default:
return 0;
}
}
public int RomanToInt(string s)
{
int length = s.Length;
int i = length - 1;
int sum = RomanCharToInt(s[i--]);
while (i >= 0)
{
if (RomanCharToInt(s[i + 1]) > RomanCharToInt(s[i]))
{
sum -= RomanCharToInt(s[i--]);
}
else
{
sum += RomanCharToInt(s[i--]);
}
}
return sum;
}
}
以上是关于13.罗马数字转成整形 Roman to Integer的主要内容,如果未能解决你的问题,请参考以下文章