leetcode:12. 整数转罗马数字(中等,)

it2025-02-07  10

题目:

分析:思路不错,一个函数用了3次,还是一道简单题。

代码:

class Solution { public: string f(char c1,char c2,char c3,int n) { string s=""; if(n==0) return s; if(n==9) { s+=c1;s+=c3;return s; } if(n==4) { s+=c1;s+=c2;return s; } if(n==5) { s+=c2;return s; } if(n>5) { s+=c2; n=n-5; } for(int i=0;i<n;i++) s+=c1; return s; } string intToRoman(int num) { string s=""; int c=num/1000; while(c) { c--; s+='M'; } num=num%1000; c=num/100; num=num%100; s+=f('C','D','M',c); c=num/10; num=num%10; s+=f('X','L','C',c); s+=f('I','V','X',num); return s; } };
最新回复(0)