Skip to content

罗马转数字 #127

@xinglie

Description

@xinglie
let romanToNumbers = {
    I: 1,
    V: 5,
    X: 10,
    L: 50,
    C: 100,
    D: 500,
    M: 1000
};

let romanToInt = roman => {
    let n = 0;
    let total = roman.length;
    let index = 0;
    while (index < total) {
        let current = roman[index],
            next = roman[index + 1];
        let currentValue = romanToNumbers[current];
        let nextValue = romanToNumbers[next];
        if (currentValue < nextValue) {
            n += nextValue - currentValue;
            index++;
        } else {
            n += currentValue;
        }
        index++;
    }
    return n;
};

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions