Files
CodeTest/leetcode/roman-to-integer/solution_1377855794.rs

29 lines
709 B
Rust

use std::collections::HashMap;
impl Solution {
pub fn roman_to_int(s: String) -> i32 {
let mut rom2int = HashMap::new();
rom2int.insert('I', 1);
rom2int.insert('V', 5);
rom2int.insert('X', 10);
rom2int.insert('L', 50);
rom2int.insert('C', 100);
rom2int.insert('D', 500);
rom2int.insert('M', 1000);
let mut sum = -2000;
let mut prev = 2000;
let mut cur;
for c in s.chars(){
cur = *rom2int.get(&c).unwrap();
if cur > prev{
sum -= prev;
} else {
sum += prev;
}
prev = cur;
}
return sum + prev;
}
}