三合一。描述如何只用乙個陣列來實現三個棧。
你應該實現push(stacknum, value)、pop(stacknum)、isempty(stacknum)、peek(stacknum)方法。stacknum表示棧下標,value表示壓入的值。
建構函式會傳入乙個stacksize引數,代表每個棧的大小。
示例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`不壓入元素。
分析: 本題要求在乙個陣列上實現三個站棧,所以我們在**實現時可以這樣考慮,乙個棧的時候對應的操作是什麼? 然後主要的不同是我們要對應棧的起始點,根據對應的公式進行換算:
class tripleinone
void push(int stacknum, int value)
int pop(int stacknum)
int peek(int stacknum)
bool isempty(int stacknum)
};
面試題 03 01 三合一
三合一。描述如何只用乙個陣列來實現三個棧。你應該實現push stacknum,value pop stacknum isempty stacknum peek stacknum 方法。stacknum表示棧下標,value表示壓入的值。建構函式會傳入乙個stacksize引數,代表每個棧的大小。示...
程式設計師面試金典 面試題 03 01 三合一
三合一。描述如何只用乙個陣列來實現三個棧。你應該實現push stacknum,value pop stacknum isempty stacknum peek stacknum 方法。stacknum表示棧下標,value表示壓入的值。建構函式會傳入乙個stacksize引數,代表每個棧的大小。示...
程式設計師面試金典 03 01 三合一
三合一。描述如何只用乙個陣列來實現三個棧。你應該實現push stacknum,value pop stacknum isempty stacknum peek stacknum 方法。stacknum表示棧下標,value表示壓入的值。建構函式會傳入乙個stacksize引數,代表每個棧的大小。示...