作者oinishere (是oin捏)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Mon May 6 12:22:42 2024
※ 引述 《sustainer123 (caster)》 之銘言:
:
: ※ 引述《Rushia (早瀬ユウカの体操服 )》之銘言:
: : https://leetcode.com/problems/remove-nodes-from-linked-list/description/
: : 2487. Remove Nodes From Linked List
: : 給你一個鏈結串列,移除串列中所有右邊存在比他大的數字的的節點。
: : https://assets.leetcode.com/uploads/2022/10/02/drawio.png
思路:
笑死
直接用陣列做monotonic stack
很白癡可是很簡單
只要裡面有一個以上的東西
就要改變他們的串接關係
然後傳第一個就不用重新全串了
class Solution {
public:
ListNode* removeNodes(ListNode* head)
{
ListNode* preh = new ListNode(0,head);
vector<ListNode*> paper;
ListNode* n = head;
while(n)
{
while(!paper.empty() && paper[paper.size()-1]->val < n->val)
{
paper.pop_back();
}
paper.push_back(n);
if(paper.size()>1)
{
paper[paper.size()-2]->next = paper[paper.size()-1];
}
n = n->next;
}
return paper[0];
}
};
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.9.251 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1714969364.A.BCD.html
推 SecondRun: 大師 05/06 12:24
推 JIWP: 別卷了 臭甲,去玩py 05/06 12:24
→ sustainer123: 大師 05/06 12:28
推 wu10200512: 大師 05/06 12:35