您的位置:首页 > 其它

leetcode字符串处理经典

2016-06-13 21:57 183 查看

Given a roman numeral, convert it to an integer.

Input is guaranteed to be within the range from 1 to 3999.

int romanToInt(char* s) {

int length = strlen(s);
int i;
int a[26];
a['M' - 'A'] = 1000;
a['D' - 'A'] = 500;
a['C' - 'A'] = 100;
a['L' - 'A'] = 50;
a['X' - 'A'] = 10;
a['V' - 'A'] = 5;
a['I' - 'A'] = 1;

int p , q = 0;;
int num = 0;

for( i = length -1 ; i >= 0 ; i--)
{
p = a[s[i] - 'A'];
num += ( p >= q )?p:-p;
q = p;
}

return num;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: