이 튜토리얼은 Java 스택에서 짝수를 제거하는 두 가지 방법을 보여줍니다. 최후의 첫 번째 출력 (LIFO) 원칙을 준수하는 스택은 이러한 유형의 필터링에 대한 고유 한 과제를 제시합니다. 여기에 표시된 기술은 단순히 짝수를 제거하는 것 외에 다른 필터링 시나리오에 적응할 수 있습니다.
문제 :
입력 1 :
출력 1 :
입력 2 :출력 2 :
(제거 할 숫자조차 없음) 솔루션 접근 :
[1, 2, 3, 4, 5]
재귀 사용 : 이 재귀 접근법은 스택을 효율적으로 처리하여 재귀 호출 중에 짝수를 제거합니다.
[1, 3, 5]
메소드 1 : 보조 스택
이 접근법은 다음과 같은 단계를 포함합니다 :
[1, 7, 3, 11, 9]
에서 원래 스택으로 전송 요소를 전송합니다.
코드 예제 (보조 스택) :
[1, 7, 3, 11, 9]
시간과 공간 복잡성 (보조 스택) : 공간 복잡성 : o (n) - 입력 스택과 동일한 크기의 보조 스택을 사용합니다. 방법 2 : 재귀
기본 케이스 : 스택이 비어 있으면 반환
시간과 공간 복잡성 (재귀) :
시간 복잡성 :두 가지 메소드 모두 스택에서 짝수 숫자를 효과적으로 제거합니다. 보조 스택 접근 방식은보다 간단하지만 재귀 접근법은 JVM의 최적화에 따라 더 간결하고 잠재적으로 약간 더 효율적인 솔루션을 제공합니다. 선택은 개인 선호도와 코딩 스타일에 따라 다릅니다. 이러한 기술은 다양한 기준을 기반으로 스택을 필터 스택에 적합 할 수 있습니다.
.
위 내용은 자바의 스택에서 모든 요소를 삭제하십시오의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!