作者oin1104 (是oin的說)
看板Marginalman
標題Re: [閒聊] 每日LeetCode
時間Mon Jan 29 14:34:14 2024
我把他全部丟進第二個stack
然後他就會倒過來
然後把上面的丟掉
然後再塞回去
感覺好麻煩喔= =
然後那個MyQueue()是在幹嘛的阿
我不知道他是什麼
class MyQueue {
public:
vector<int> stack1;
vector<int> stack2;
MyQueue()
{
vector<int> stack1;
vector<int> stack2;
}
void push(int x)
{
stack1.push_back(x);
}
int pop()
{
while(!stack1.empty())
{
stack2.push_back(stack1.back());
stack1.pop_back();
}
int k = stack2.back();
stack2.pop_back();
while(!stack2.empty())
{
stack1.push_back(stack2.back());
stack2.pop_back();
}
return k;
}
int peek()
{
while(!stack1.empty())
{
stack2.push_back(stack1.back());
stack1.pop_back();
}
int k = stack2.back();
while(!stack2.empty())
{
stack1.push_back(stack2.back());
stack2.pop_back();
}
return k;
}
bool empty()
{
return stack1.empty();
}
};
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.46.141 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1706510056.A.D6F.html
推 digua: 大師 01/29 14:34
推 RinNoKareshi: 大師 01/29 14:34
推 wu10200512: 構造函數 01/29 14:35
→ oin1104: 我門學校都沒教這個 還在c 媽的糞槽 01/29 14:36
→ Rushia: 可以不用丟回去 s2有東西就去s2拿 不然就把s1的東西都丟s2 01/29 14:36
→ oin1104: 不丟回去的話要push東西的時候 還是要丟回去ㄅ 01/29 14:43
→ Rushia: 不用阿 你PUSH到S1 PEEK和PULL都是去S2 如果沒東西就把S1 01/29 14:43
→ Rushia: 的東西PULL到S2再拿就好 01/29 14:44
→ Rushia: 因為先進先出所以S1亂序的不用管 01/29 14:44
→ oin1104: 欸幹 好有道理 因為它這樣一定拿完s2才把s1東西倒著塞回 01/29 14:49
→ oin1104: 去 然後再拿 好扯喔 你好強 01/29 14:49
推 SecondRun: 資結會教吧 01/29 15:23