标签:first ring int roman array public 分享 color lse
first:
class Solution { public int romanToInt(String s) { char[] charArray = s.toCharArray(); int result =0; for(int i=0;i<charArray.length;i++){ if(charArray[i]==‘I‘&&(charArray[i+1]==‘V‘||charArray[i+1]==‘X‘)){ result--; }else if(charArray[i]==‘X‘&&(charArray[i+1]==‘L‘||charArray[i+1]==‘C‘)){ result -=10; }else if(charArray[i]==‘C‘&&(charArray[i+1]==‘D‘||charArray[i+1]==‘M‘)){ result -=100; }else{ switch (charArray[i]){ case ‘I‘:result++; break; case ‘V‘:result+=5; break; case ‘X‘:result+=10; break; case ‘L‘:result+=50; break; case ‘C‘:result+=100; break; case ‘D‘:result+=500; break; case ‘M‘:result+=1000; } } } return result; } }
result:
Run Code Status: Runtime Error Run Code Result: Your input "III" Your answer Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 at Solution.romanToInt(Solution.java:6) at __DriverSolution__.__helper__(__Driver__.java:8) at __Driver__.main(__Driver__.java:52)
second:
class Solution { public int romanToInt(String s) { char[] charArray = s.toCharArray(); int result =0; for(int i=0;i<charArray.length;i++){ if(charArray[i]==‘I‘&&i+1<charArray.length&&(charArray[i+1]==‘V‘||charArray[i+1]==‘X‘)){ result--; }else if(charArray[i]==‘X‘&&i+1<charArray.length&&(charArray[i+1]==‘L‘||charArray[i+1]==‘C‘)){ result -=10; }else if(charArray[i]==‘C‘&&i+1<charArray.length&&(charArray[i+1]==‘D‘||charArray[i+1]==‘M‘)){ result -=100; }else{ switch (charArray[i]){ case ‘I‘:result++; break; case ‘V‘:result+=5; break; case ‘X‘:result+=10; break; case ‘L‘:result+=50; break; case ‘C‘:result+=100; break; case ‘D‘:result+=500; break; case ‘M‘:result+=1000; } } } return result; } }
result:
conclusion:
标签:first ring int roman array public 分享 color lse
原文地址:https://www.cnblogs.com/hzg1981/p/8966487.html