온라인 프로 그래 밍 - min 함 수 를 포함 하 는 스 택

제목 설명
스 택 의 데이터 구 조 를 정의 합 니 다. 이 형식 에서 스 택 의 최소 요 소 를 얻 을 수 있 는 min 함 수 를 실현 하 십시오.
import java.util.Stack;

public class Solution {

    private Stack<Integer> stackDate;
    private Stack<Integer> stackMin;

    public Solution(){
        this.stackDate=new Stack<Integer>();
        this.stackMin=new Stack<Integer>();
    }

    public void push(int node) {
        if(this.stackMin.isEmpty()){
            stackMin.push(node);
        }
        else if(node<this.min()){
            this.stackMin.push(node);
        }
        else{
            this.stackMin.push(top());
        }
        this.stackDate.push(node);
    }

    public void pop() {
        if(this.stackDate.isEmpty()){
            throw new RuntimeException("Your stack is empty");
        }
        this.stackMin.pop();
        this.stackDate.pop();
    }

    public int top() {
        return this.stackMin.peek();
    }

    public int min() {
        if(this.stackMin.isEmpty()){
            throw new RuntimeException("Your stack is empty");
        }
        return this.stackMin.peek();
    }
}

좋은 웹페이지 즐겨찾기