特斯拉發出“AI 日”邀請函:超級計算機 Dojo 有望亮相,馬斯克將釋出主旨演講
阿新 • • 發佈:2021-08-05
話不多說,先上題目
給定單向連結串列的頭指標和一個要刪除的節點的值,定義一個函式刪除該節點。
返回刪除後的連結串列的頭節點。
注意:此題對比原題有改動
示例 1:
輸入: head = [4,5,1,9], val = 5
輸出: [4,1,9]
解釋: 給定你連結串列中值為5的第二個節點,那麼在呼叫了你的函式之後,該連結串列應變為 4 -> 1 -> 9.
示例 2:
輸入: head = [4,5,1,9], val = 1
輸出: [4,5,9]
解釋: 給定你連結串列中值為1的第三個節點,那麼在呼叫了你的函式之後,該連結串列應變為 4 -> 5 -> 9.
說明:
題目保證連結串列中節點的值互不相同
若使用 C 或 C++ 語言,你不需要 free 或 delete 被刪除的節點
來源:力扣(LeetCode)
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode deleteNode(ListNode head, int val) { if (val == head.val) { ListNode r = head.next; head.next = null; return r; } else { ListNode pre = null; ListNode cur = head; while (cur != null) { if (val == cur.val) { pre.next = cur.next; cur.next = null; break; } pre = cur; cur = cur.next; } return head; } } }
本文來自部落格園,作者:金木研King,轉載請註明原文連結:https://www.cnblogs.com/jinzlblog/p/15120842.html