Re: [閒聊] 每日leetcode已回收
※ 引述《oinishere (是oin捏)》之銘言:
: 思路:
: 笑死
: 直接用陣列做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
推
05/06 13:54,
1年前
, 1F
05/06 13:54, 1F
→
05/06 13:56,
1年前
, 2F
05/06 13:56, 2F
→
05/06 13:57,
1年前
, 3F
05/06 13:57, 3F
→
05/06 13:59,
1年前
, 4F
05/06 13:59, 4F
→
05/06 13:59,
1年前
, 5F
05/06 13:59, 5F
討論串 (同標題文章)