13. Roman to Integer

来源:互联网 发布:远程网络教育 编辑:程序博客网 时间:2024/05/21 21:02

13. Roman to Integer

Given a roman numeral, convert it to an integer.

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

class Solution {      public int romanToInt(String s) {            char [] chars=s.toCharArray();            int result=Roman(chars[0]);            for(int i=0;i<s.length()-1;i++){                result=Calculate(Roman(chars[i]),Roman(chars[i+1]),result);            }            return result;        }        int Roman(char x){            int fanhui;            switch (x)            {                case 'I':                    fanhui=1;                    break;                case 'V':                    fanhui=5;                    break;                case 'X':                    fanhui=10;                    break;                case 'L':                    fanhui=50;                    break;                case 'C':                    fanhui=100;                    break;                case 'D':                    fanhui=500;                    break;                case 'M':                    fanhui=1000;                    break;                default:                    return 0;                           }            return fanhui;        }        int Calculate(int left,int right,int result){            if(left>=right)                    return result+right;            else                return result+right-2*left;        }}