Re: [閒聊] 每日leetcode

看板 Marginalman
作者 SecondRun (南爹摳打)
時間 2024-05-06 13:52:01
留言 0則留言 (0推 0噓 0→)

: 思路: : 笑死 : 直接用陣列做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]; : } : }; 想法: 一樣,但沒開array C# code: public class Solution { public ListNode RemoveNodes(ListNode head) { var stack = new Stack<ListNode>(); var current = head; while (current != null) { while (stack.Count != 0 && stack.Peek().val < current.val) { stack.Pop(); } if (stack.Count != 0) { stack.Peek().next = current; } else { head = current; } stack.Push(current); current = current.next; } return head; } } -- (づ′・ω・)づ --
※ 批踢踢實業坊(ptt.cc), 來自: 61.220.51.52 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1714974724.A.F14.html

您可能感興趣