Roman to Integer
1 class Solution { 2 public: 3 int switchRoman( char a ) 4 { 5 if( a == 'M' ) 6 return 1000; 7 else if( a == 'D' ) 8 return 500; 9 else if( a == 'C' ) 10 return 100; 11 else if( a == 'L' ) 12 return 50; 13 else if( a == 'X' ) 14 return 10; 15 else if( a == 'V' ) 16 return 5; 17 else 18 return 1; 19 } 20 int romanToInt(string s) { 21 if( s == "" ) return 0; 22 23 int n = 0; 24 int i = s.length()-1; 25 int t = switchRoman( s[i] ); 26 for(int i=s.length()-1; i>=0; i--) 27 { 28 int k = switchRoman(s[i]); 29 if( t > k) 30 n -= k; 31 else 32 { 33 n += k; 34 t = k; 35 } 36 } 37 return n; 38 } 39 };
posted on 2013-09-07 18:11 jumping_grass 阅读(150) 评论(0) 收藏 举报
浙公网安备 33010602011771号