String to Integer (atoi) Java의 문제 해결 방법
Leetcode의 문제 정의
나의 접근
5- "실제"의 첫 번째 문자가 음수 기호인 경우 기호 변수를 -1로 설정합니다.
6- 이제 "actual"의 나머지 문자를 반복하고 Horner의 규칙을 사용하여 전체 숫자를 정수로 변환합니다.
7- 숫자가 32비트 범위 내에 있는지 확인합니다.
(정수.MIN_VALUE <= 숫자 <= 정수.MAX_VALUE)
public int myAtoi(String s) {
if(s == null || s.length()==0)
return 0;
String actual = "";
long num = 0;
long sign = 1;
for(int i = 0 ; i < s.length() ; i++){
if(s.charAt(i)!=' '){
if( actual.length() == 0 && i+1 < s.length()
&& (s.charAt(i) == '-' || s.charAt(i) == '+')
&& Character.isDigit(s.charAt(i+1)))
actual += s.charAt(i);
else if(!Character.isDigit(s.charAt(i)))
break;
else if(Character.isDigit(s.charAt(i)))
actual += s.charAt(i);
if(i+1 < s.length() && s.charAt(i+1)==' ')
break;
}
}
if(actual.length() == 0)
return 0;
if(actual.charAt(0) == '-')
sign = -1;
for(int i=0; i<actual.length(); i++){
if(Character.isDigit(actual.charAt(i))){
num = num*10 + (actual.charAt(i) - '0');
if(num*sign >= Integer.MAX_VALUE)
return Integer.MAX_VALUE;
else if( num*sign <= Integer.MIN_VALUE)
return Integer.MIN_VALUE;
}
}
return (int) (num*sign);
}
언제든지 저에게 연락하셔서 여러분의 생각을 알려주세요!
Github
Medium
Reference
이 문제에 관하여(String to Integer (atoi) Java의 문제 해결 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/shaimaahossam/string-to-integer-atoi-problem-solution-in-java-328i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)