Skip to content

Latest commit

 

History

History

013.RomanToInteger

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

代码实现

013.RomanToInteger

解题思路

罗马数字有一个特征:两个相邻的字符,如果左边比右边大,那么两个数应该相加,如果左边比右边小,那么这两个数应该相减。根据这个特点,可以写出下面的计算过程:

for (let i = 0, c, n; i < N; i++) {
  c = roman[s[i]]
  n = roman[s[i + 1]]
  result += c < n ? -c : c
}

依次将结果加上或减去罗马数的值,就将整个罗马数转换为了数字。