全球新資訊:#yyds干貨盤點# LeetCode程序員面試金典:三合一

2022-12-14 18:01:08 來源:51CTO博客


【資料圖】

題目:

三合一。描述如何只用一個數(shù)組來實現(xiàn)三個棧。

你應該實現(xiàn)push(stackNum, value)、pop(stackNum)、isEmpty(stackNum)、peek(stackNum)?方法。stackNum?表示棧下標,value表示壓入的值。

構(gòu)造函數(shù)會傳入一個stackSize參數(shù),代表每個棧的大小。

示例1:

輸入:["TripleInOne", "push", "push", "pop", "pop", "pop", "isEmpty"][[1], [0, 1], [0, 2], [0], [0], [0], [0]] 輸出:[null, null, null, 1, -1, -1, true]說明:當棧為空時`pop, peek`返回-1,當棧滿時`push`不壓入元素。

示例2:

輸入:["TripleInOne", "push", "push", "push", "pop", "pop", "pop", "peek"][[2], [0, 1], [0, 2], [0, 3], [0], [0], [0], [0]] 輸出:[null, null, null, null, 2, 1, -1, -1]

代碼實現(xiàn):

class TripleInOne {    private final int STACK_SIZE;   //棧大小    private int[] index;    //當前棧的棧頂指針    private int[][] stack;  //棧    public TripleInOne(int stackSize) {     //初始化操作        this.STACK_SIZE=stackSize;        this.index=new int[]{-1,-1,-1};        this.stack=new int[3][STACK_SIZE];    }    public void push(int stackNum, int value) {        if(index[stackNum]+1                

標簽: 構(gòu)造函數(shù) 添加元素

上一篇:每日報道:Spring Integration的網(wǎng)絡(luò)通量支持
下一篇:每日播報!Java-快速入門、IDEA開發(fā)工具的使用1-筆記