2.27日刷题记录 Integer to Roman (12)


罗马数字的题,乍一看要求很多而且数据变化很繁琐,实际上可以讨个巧,将需要考虑的四,九等数字放入数组中,之后根据规律字符串往上加就可以了,遍历数组,当数字大于该数组数据时,减去该数据,字符串加入该数据对应的字符。一个循环解决问题。
class Solution { public: string intToRoman(int num) { int values[]={1000,900,500,400,100,90,50,40,10,9,5,4,1}; string reps[]={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"}; string res; for(int i=0; i<13; i++){ while(num>=values[i]){ num -= values[i]; res += reps[i]; } } return res; } };
------------恢复内容结束------------
------------恢复内容结束------------

浙公网安备 33010602011771号