Leetcode-Integer to Roman

#Leetcode

题目描述

Given an integer, convert it to a roman numeral.

Input is guaranteed to be within the range from 1 to 3999.

AC代码

	class Solution {
	public:
	    int romanToInt(string s) {
		// IMPORTANT: Please reset any member data you declared, as
		// the same Solution instance will be reused for each test case.
		int result=0;  
		  
		map<char,int> roman;  
		roman['I']=1;  
		roman['V']=5;  
		roman['X']=10;  
		roman['L']=50;  
		roman['C']=100;  
		roman['D']=500;  
		roman['M']=1000;  
		  
		for(int i=s.length()-1;i>=0;i--)  
		{  
		    if(i==s.length()-1)  
		    {  
			result=roman[s[i]];  
			continue;  
		    }  
		    if(roman[s[i]] >= roman[s[i+1]])  
			result+=roman[s[i]];  
		    else  
			result-=roman[s[i]];  
		}  
		return result;  
	    }
	};