Re: [閒聊] 每日leetcode已回收
※ 引述 《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
推
05/06 12:24,
1年前
, 1F
05/06 12:24, 1F
推
05/06 12:24,
1年前
, 2F
05/06 12:24, 2F
→
05/06 12:28,
1年前
, 3F
05/06 12:28, 3F
推
05/06 12:35,
1年前
, 4F
05/06 12:35, 4F
討論串 (同標題文章)