罗马数字转整数【java实现】 思路:先建立一个HashMap将I至M七个罗马符号及其对应的数字值存储下来,然后将字符串转换为int整数数组。初始化一个sum,从左向右遍历到倒数第二位,如果a[i]大于a[i+1],则加上a[i],否则减去a[i]。注意最后加上最后一位的a[s.length()-1]。 代码如下: class Solution { public int romanToInt(String s) { HashMap<String , Integer> map =new HashMap<String , Integer>(); map.put("I",1); map.put("V",5); map.put("X",10); map.put("L",50); map.put("C",100); map.put("D",500); map.put("M",1000); //将字符串s转换为对应的int数组值 int []a=new int[100]; for(int i=0;i<s.length();i++){ a[i]=map.get(s.substring(i,i+1)); } //遍历数组,左边比右边小则减去该值,大则加上该值 int sum=0; for(int i=0;i<s.length()-1;i++){ if(a[i]<a[i+1]) sum=sum-a[i]; else sum+=a[i]; } sum+=a[s.length()-1];//加上最后一位整数 return sum; } }