leetcode 13 Roman to Integer C++

来源:互联网 发布:淘宝童鞋运动少女 编辑:程序博客网 时间:2024/06/05 04:01



这道题主要是要知道罗马转数字的规则,前边的比后边的小就要减。


    int romanToInt(string s) {    int a[26] = {0};    a['I'-'A'] = 1;    a['V'-'A'] = 5;    a['X'-'A'] = 10;    a['L'-'A'] = 50;    a['C'-'A'] = 100;    a['D'-'A'] = 500;    a['M'-'A'] = 1000;        int sum = 0;    int max = 1;    for (int i = s.size() - 1; i >= 0; i--) {        if (a[s[i]-'A'] >= max) {            max = a[s[i]-'A'];            sum += a[s[i]-'A'];        }else{            sum -= a[s[i]-'A'];        }    }    return sum;}


0 0
原创粉丝点击