【LeetCode算法练习(C++)】Roman to Integer

来源:互联网 发布:淘宝双11销售额 编辑:程序博客网 时间:2024/06/13 07:34

题目:
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.

链接:Roman to Integer
解法:用数组存字母表示的数

class Solution {  public:      int romanToInt(string s) {          int ans = 0, len = s.length(), val[255];         val['I'] = 1;        val['V'] = 5;        val['X'] = 10;        val['L'] = 50;          val['C'] = 100;        val['D'] = 500;        val['M'] = 1000;        for (int i = 0; i < len; i++) {              if (i > 0 && val[s[i]] > val[s[i - 1]]) {                  ans += val[s[i]] - 2 * val[s[i - 1]];              } else {                  ans += val[s[i]];              }          }          return ans;    }};

Runtime: 119 ms

原创粉丝点击