您的位置:首页 > 其它

Roman to integer

2015-12-28 10:57 169 查看
将1-3999的罗马数字变成整数。

关键在于知道罗马数字的形成规则,每两个数字比较,如果左边的数大于右边的数,则加起来;反之,则右边的数减去左边的数。

代码如下:

var romanToInt = function(s) {

res=0;

temp=new Array();

for(i=0;i<s.length;i++){

switch(s.charAt(i)){

case 'I':temp[i]=1;break;

case 'V':temp[i]=5;break;

case 'X':temp[i]=10;break;

case 'L':temp[i]=50;break;

case 'C':temp[i]=100;break;

case 'D':temp[i]=500;break;

case 'M':temp[i]=1000;break;

}

}

for(i=0;i<s.length;i++){

if(temp[i]<temp[i+1]){

res+=temp[i+1]-temp[i];

i++;

}

else{

res+=temp[i];

}

}

return res;

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: