Given an integer, convert it to a Roman numeral.
Input is guaranteed to being within the range from 1 to 3999.
1~9: {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
10~90: {"X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
100~900: {"C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
1000~3000: {"M", "MM", "MMM"}.
It's a regular problem.
Public classSolution { PublicString Inttoroman (intnum) {string[][] r= { {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"}, {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"}, {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"}, {"", "M", "MM", "MMM"} }; String ans= ""; inti = 0; while(num > 0) { intj = num% 10; Ans= R[i][j] +ans; I++; Num/= 10; } returnans; }}
View Code
Public classSolution {intRomantoint (String s) {intAns = Change (S.charat (0)); for(inti = 1; I < s.length (); i++) { if(Change (S.charat (i-1)) <Change (S.charat (i))) {ans+ = Change (S.charat (i))-2 * Change (S.charat (i-1)); } Else{ans+=Change (S.charat (i)); } } returnans; } intChangeCharch) { Switch(CH) { Case' I ':return1; Case' V ':return5; Case' X ':return10; Case' L ':return50; Case' C ':return100; Case' D ':return500; Case' M ':return1000; } return0; } }
View Code
Leetcode 12-13:integer to Roman&&roman to Integer