Problem:
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
与第12题类似,应用转换规则即可。
java代码如下:
public class Solution {
public int romanToInt(String s) {
int val[] = new int[256];
val['I'] = 1; val['V'] = 5; val['X'] = 10; val['L'] = 50; val['C'] = 100; val['D'] = 500; val['M'] = 1000;
int res = 0;
for(int i = 0; i < s.length(); i ++){
if(i > 0 && val[s.charAt(i)] > val[s.charAt(i-1)]){
res += val[s.charAt(i)] - 2*val[s.charAt(i-1)];
}
else{
res += val[s.charAt(i)];
}
}
return res;
}
}
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
与第12题类似,应用转换规则即可。
java代码如下:
public class Solution {
public int romanToInt(String s) {
int val[] = new int[256];
val['I'] = 1; val['V'] = 5; val['X'] = 10; val['L'] = 50; val['C'] = 100; val['D'] = 500; val['M'] = 1000;
int res = 0;
for(int i = 0; i < s.length(); i ++){
if(i > 0 && val[s.charAt(i)] > val[s.charAt(i-1)]){
res += val[s.charAt(i)] - 2*val[s.charAt(i-1)];
}
else{
res += val[s.charAt(i)];
}
}
return res;
}
}