题意:
解题思路:
思路:    1. 将罗马数字字符跟数字做一个映射;    2. 从前往后扫描,如果s[i+1] > s[i],证明右边的数字比左边要大,        这时候用0减去左边的数字得到一个差值,再将i向后移动一位,如果s[i+1] < s[i],则直接累积s[i]的值;    3. 比如IV =》s[i + 1] = 5, s[i] = 1, 得到 0-1 = -1,然后用 -1 + 5 = 4
PHP代码实现:
class Solution {    function romanToInt($s) {        $arr = ['I' => 1, 'V' => 5, 'X' => 10, 'L' => 50,            'C' => 100, 'D' => 500, 'M' => 1000];        $num = 0; $count = strlen($s);        for ($i = 0; $i < $count; $i++) {            $next = $i + 1;            if ($arr[$s[$next]] > $arr[$s[$i]]) $num -= $arr[$s[$i]];            else $num += $arr[$s[$i]];        }        return $num;    }}
GO代码实现:
func romanToInt(s string) int {    num := romanMap[s[len(s)-1]]    for i := len(s) - 2; i >= 0; i-- {        if romanMap[s[i]] < romanMap[s[i+1]] {            num -= romanMap[s[i]]        } else {            num += romanMap[s[i]]        }    }    return num}var romanMap = map[byte] int {    'I': 1,    'V': 5,    'X': 10,    'L': 50,    'C': 100,    'D': 500,    'M': 1000,}