2020/12/9 棧佇列堆(牛客網)
陣列與矩陣
棧的壓入、彈出序列(牛客網)
題目描述
輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的一個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。(注意:這兩個序列的長度是相等的)
輸出
題解思路
import java.util.ArrayList;
import java.util.Stack;
public class Solution {
public boolean IsPopOrder(int [] pushA,int [] popA) {
Stack<Integer> stack = new Stack<>();
int k=0;
for(int i = 0;i<pushA.length;i++){
if(popA[k]==pushA[i]){
k++;
while(!stack.isEmpty()&&popA[k]==stack.peek()){
stack.pop();
k++;
}
}else{
stack.push(pushA[i]);
}
}
return stack.isEmpty()&&k>=popA.length;
}
}
相關文章
- 2020/12/5 棧佇列堆(牛客網)佇列
- 堆、棧以及佇列佇列
- 演算法-棧佇列堆演算法佇列
- 牛客網 複數集合(小根堆的優先佇列、北郵機試)佇列
- 9. 題目:對佇列實現棧&用棧實現佇列佇列
- 劍指offer(java實現)第5題“用兩個棧實現佇列”-牛客網Java佇列
- 棧、堆、佇列深入理解,面試無憂佇列面試
- Python中堆、棧、佇列之間的區別Python佇列
- 佇列,棧佇列
- 棧、佇列佇列
- 棧-佇列佇列
- 堆--優先佇列佇列
- 題目9:用兩個棧實現佇列佇列
- 佇列和棧佇列
- 棧和佇列佇列
- 常見的線性列表結構---【陣列、連結串列、棧、佇列、堆】陣列佇列
- 堆與優先佇列佇列
- 堆和優先佇列佇列
- 通過佇列實現棧OR通過棧實現佇列佇列
- java 棧與佇列Java佇列
- 程式碼隨想錄day9-棧和佇列1佇列
- (js佇列,堆疊) (FIFO,LIFO)JS佇列
- 棧與佇列簡介佇列
- Chapter 2 棧和佇列APT佇列
- 6.13-棧與佇列佇列
- 用佇列實現棧佇列
- 用棧實現佇列佇列
- 二叉堆優先佇列佇列
- 堆——神奇的優先佇列(上)佇列
- 棧,佇列,優先順序佇列簡單介面使用佇列
- 《演算法》- 佇列和棧演算法佇列
- 連結串列&鏈棧&佇列佇列
- 兩個棧實現佇列佇列
- 4_4雙棧佇列佇列
- 資料結構—棧/佇列資料結構佇列
- 單調棧/單調佇列佇列
- 資料結構-佇列、棧資料結構佇列
- 三、資料結構演算法-棧、佇列、優先佇列、雙端佇列資料結構演算法佇列