作者sustainer123 (caster )
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Mon May 6 12:08:51 2024
※ 引述《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
: 思路:
: 1.題目其實是在求一個最長遞減串列,我們將原串列做反轉之後把遞增的串起來,再把
: 串起來的串列也反轉即可。
: py code:
: ----------------------------------------------
: class Solution:
: def removeNodes(self, head: Optional[ListNode]) -> Optional[ListNode]:
: def reverse(node: Optional[ListNode]):
: curr, prev = node, None
: while curr:
: tmp = curr.next
: curr.next = prev
: prev = curr
: curr = tmp
: return prev
: head = reverse(head)
: dummy = ListNode(-1)
: curr = dummy
: while head:
: if head.val >= curr.val:
: curr.next = head
: curr = curr.next
: head = head.next
: curr.next = None
: return reverse(dummy.next)
: ----------------------------------------------
照抄大老思路
Java Code:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode reverse(ListNode node){
ListNode pre = null;
ListNode cur = node;
while(cur != null){
ListNode tmp = cur.next;
cur.next = pre;
pre = cur;
cur = tmp;
}
return pre;
}
public ListNode removeNodes(ListNode head) {
head = reverse(head);
ListNode dummy = new ListNode();
ListNode cur = dummy;
while(head != null){
if(head.val >= cur.val){
cur.next = head;
cur = head;
}
head = head.next;
}
cur.next = null;
return reverse(dummy.next);
}
}
1 Java函式裡面不能放函式
2 分號
3 static可以理解成全域變數ㄇ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.198.113 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1714968533.A.6DA.html
推 JIWP: 別卷了 05/06 12:09
推 digua: 大師 05/06 12:09
推 wu10200512: static跟全域變數滿像的 05/06 12:13
→ wu10200512: 只是你放在class裡就只能用class的static函數改 05/06 12:13
推 JIWP: 跟C的static一樣嗎 05/06 12:14
推 wu10200512: java就是換皮c++ 05/06 12:15
→ sustainer123: 我C++沒學好QQ 05/06 12:16
推 SecondRun: 不如C# 05/06 12:17
→ JIWP: 剩我不會c++了 05/06 12:17
→ JIWP: 要不要試試看用monotonic stack來解這一題 05/06 12:18
→ sustainer123: 我想一下怎解 05/06 12:27
→ DJYOSHITAKA: 剩我只會一種語言了 05/06 12:29
→ sustainer123: 老實講我也只熟python C學過一年但寫得不怎麼樣 05/06 12:31
→ sustainer123: 其他就摸過而已 05/06 12:31