LeetCode : Roman to Integer [java]

来源:互联网 发布:现货黄金指标源码 编辑:程序博客网 时间:2024/05/06 12:54

Given a roman numeral, convert it to an integer.

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

思路:记住这种算法,后边的比前边的大,加上后边数-2*前边的数,否则,直接加上后边的数。

public class Solution {public int romanToInt(String s) {int ret = toNumber(s.charAt(0));for (int i = 1; i < s.length(); i++) {if (toNumber(s.charAt(i - 1)) < toNumber(s.charAt(i))) {ret += toNumber(s.charAt(i)) - 2 * toNumber(s.charAt(i - 1));} else {ret += toNumber(s.charAt(i));}}return ret;}private int toNumber(char ch) {switch (ch) {case 'I':return 1;case 'V':return 5;case 'X':return 10;case 'L':return 50;case 'C':return 100;case 'D':return 500;case 'M':return 1000;}return 0;}}


1 0
原创粉丝点击