第二天:力扣13题,罗马数字转整数:
地址:leetcode-cn.com/problems/ro…
说下思路:这个罗马数字没有要求判断输入格式是否正确,这就节省了很多事情。
罗马数字转整数只有两种情况,一种是小的数字在大的数字前面,就是要相减,令一种则是正常的加就行了,所以只要做个判断就ok了。
var romanToInt = function(s) {
let object = {
'I':1,
'V':5,
'X':10,
'L':50,
'C':100,
'D':500,
'M':1000,
};//先定义对象,存放;
let sum = 0; //申明一个变量存放返回值
let a = s.split("");//将a声明成数组并且将s转化成数组存入a
for(let i = 0; i < a.length; i++)
{
if(object[a[i]]<object[a[i+1]]) //判断第一种情况
{
sum = sum - object[a[i]]+object[a[i+1]];
i++;
}
else{
sum = sum + object[a[i]];
}//第二种情况
}
return sum;
};
执行用时:172 ms, 在所有 JavaScript 提交中击败了73.54% 的用户
内存消耗:43.6 MB, 在所有 JavaScript 提交中击败了23.32% 的用户