您的位置:首页 > 其它

13.Roman to Integer (罗马数字转成整数)

2015-08-03 14:32 447 查看
public class Solution {

    public int romanToInt(String s) {

        char[] symbol = { 'I', 'V', 'X', 'L', 'C', 'D', 'M' };

        int[] val = { 1, 5, 10, 50, 100, 500, 1000 };

        Map<Character, Integer> map = new HashMap<Character, Integer>();

        for (int i = 0; i < symbol.length; i++)

            map.put(symbol[i], val[i]);

 

        int len = s.length();

        int res = 0;

 

        res += map.get(s.charAt(0));

        for (int i = 1; i < len; i++) {

            int cur = map.get(s.charAt(i));

            int pre = map.get(s.charAt(i - 1));

            if (cur <= pre) {

                res += cur;

            } else {

                res = res + cur - 2 * pre;

            }

 

        }

        return res;

 

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: