13. Roman to Integer

Java

public class Solution {
    public int romanToInt(String s) {
        int sum=0;
        int trans[]=new int[200];
        trans['I']=1;
        trans['V']=5;
        trans['X']=10;
        trans['L']=50;
        trans['C']=100;
        trans['D']=500;
        trans['M']=1000;
        sum=trans[s.charAt(0)];
        for(int i=0;i=trans[s.charAt(i+1)])
            sum+=trans[s.charAt(i+1)];
            else
            sum=sum+trans[s.charAt(i+1)]-2*trans[s.charAt(i)];
        }
        return sum;
    }
}

Javascript

/**
 * @param {string} s
 * @return {number}
 */
var romanToInt = function(s) {
        var sum=0;
        var trans=[];
        trans['I']=1;
        trans['V']=5;
        trans['X']=10;
        trans['L']=50;
        trans['C']=100;
        trans['D']=500;
        trans['M']=1000;
        sum=trans[s.charAt(0)];
        for(var i=0;i=trans[s[i+1]])
            sum+=trans[s[i+1]];
            else
            sum=sum+trans[s[i+1]]-2*trans[s[i]];
        }
        return sum;
};

优解

思路差不多

你可能感兴趣的:(13. Roman to Integer)