/* 思路就是,扫描一遍,先全部加到一起,然后再扫描一边,看一下左侧比右侧小的部分,就减去它的两倍(因为被多加了) 还可以扫描的时候直接判断左侧和右侧的大小,小的话加-大的话+ */ public int romanToInt(String s) { char[] chars=s.toCharArray(); int sum=0; for(int i=0;i<chars.length;i++) { sum += getNum(chars[i]); } for(int i=0;i<chars.length-1;i++){ if(getNum(chars[i])<getNum(chars[i+1])) sum-=2*getNum(chars[i]); } return sum; } public int getNum(char c){ switch (c){ case'M':return 1000; case'D':return 500; case'C':return 100; case'L':return 50; case'X':return 10; case'V':return 5; case'I':return 1; default:return 0; } }
13. Roman to Integer
最新推荐文章于 2024-01-03 14:43:50 发布