leetcode 155最小スタック(C ++)

、ポップ、トップ操作をプッシュするように設計された支持体は、スタックが取得され、一定時間内の最小要素であることができます。

プッシュ(X) -要素xがスタックを押します。
ポップ() -スタックの要素を削除します。
トップ() -先頭の要素を取得します。
getMin() -スタック内の最小の要素を取り出します。
例:

分のありがとう分の感謝=新しい分おかげで();
minStack.push(-2)。
minStack.push(0)。
minStack.push(-3)。
minStack.getMin(); - >返回-3。
minStack.pop();
minStack.top(); - >返回0
minStack.getMin()。- >返回-2。

クラスMinStack {
 パブリック/ * *ここにあなたのデータ構造を初期化します。* / 
    MinStack(){ 
        
    } 
    
    ボイドプッシュ(INT X){ 
        s1.push(X)。
        もし(s2.empty()|| X <= s2.top())s2.push(X)。
    } 
    
    ボイドポップ(){
         場合(s1.top()== s2.top())s2.pop(); 
        s1.pop(); 
    } 
    
    int型の上部(){
         戻りs1.top()。
    } 
    
    INT getMin(){
         戻りs2.top()。
    } 
    
プライベート
    スタック < 整数 > S1、S2; 
}。

 

おすすめ

転載: www.cnblogs.com/xiaotongtt/p/11318095.html