Leetcode || Roman to Integer

来源:互联网 发布:js encodeuri 编辑:程序博客网 时间:2024/06/03 21:03
package pack;/* * 从前向后遍历罗马数字,如果某个数比前一个数小,则加上该数。 * 反之,减去前一个数的两倍然后加上该数。 */class Solution {     private int getInteger(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;              default: return 0;         }     }     public int romanToInt(String s) {         int previous = getInteger(s.charAt(0));         int result = previous;         for (int i = 1; i < s.length(); i++) {                  if (getInteger(s.charAt(i-1)) < getInteger(s.charAt(i))) {                      result += getInteger(s.charAt(i)) - 2 * getInteger(s.charAt(i-1));                  } else {                      result += getInteger(s.charAt(i));                  }              }           return result;     }}
0 0