-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path013.3.js
More file actions
29 lines (29 loc) · 794 Bytes
/
Copy path013.3.js
File metadata and controls
29 lines (29 loc) · 794 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//将罗马数字转换为整数,可以认为这个罗马数字不大于3999
//简洁且快速的解法
/**
* @param {string} s
* @return {number}
*/
var romanToInt = function (s) {
var res = 0;
for (var i = s.length - 1; i >= 0; i--) {
var c = s.charAt(i);
switch (c) {
case 'I':
res += (res >= 5 ? -1 : 1); break;
case 'V':
res += 5; break;
case 'X':
res += 10 * (res >= 50 ? -1 : 1); break;
case 'L':
res += 50; break;
case 'C':
res += 100 * (res >= 500 ? -1 : 1); break;
case 'D':
res += 500; break;
case 'M':
res += 1000; break;
}
}
return res;
};