
题目地址
https://leetcode.com/problems/roman-to-integer
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
function romanToInt(string $str) :int { $map = [ 'I' => 1, 'V' => 5, 'X' => 10, 'L' => 50, 'C' => 100, 'D' => 500, 'M' => 1000 ];
$length = strlen($str);
if ($length == 0) { return 0; }
$sum = $map[$str[$length - 1]];
for ($i = $length - 2; $i >= 0; $i--) { if ($map[$str[$i]] < $map[$str[$i + 1]]) { $sum -= $map[$str[$i]]; } else { $sum += $map[$str[$i]]; } }
return $sum; }
|
近期评论