22. Leetcode 237. 删除链表中的节点 (链表-基础操作类-删除链表的节点)
生活随笔
收集整理的這篇文章主要介紹了
22. Leetcode 237. 删除链表中的节点 (链表-基础操作类-删除链表的节点)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
請編寫一個函數,用于 刪除單鏈表中某個特定節點 。在設計函數時需要注意,你無法訪問鏈表的頭節點?head ,只能直接訪問 要被刪除的節點 。題目數據保證需要刪除的節點 不是末尾節點 。示例 1:輸入:head = [4,5,1,9], node = 5
輸出:[4,1,9]
解釋:指定鏈表中值為?5?的第二個節點,那么在調用了你的函數之后,該鏈表應變為 4 -> 1 -> 9
示例 2:輸入:head = [4,5,1,9], node = 1
輸出:[4,5,9]
解釋:指定鏈表中值為?1?的第三個節點,那么在調用了你的函數之后,該鏈表應變為 4 -> 5 -> 9
示例 3:輸入:head = [1,2,3,4], node = 3
輸出:[1,2,4]
示例 4:輸入:head = [0,1], node = 0
輸出:[1]思路: 由于這道題目只輸入了需要刪除的節點 node,因此無法獲取刪除 節點 node 的前一個節點 pre,從而也就無法將前一個節點 pre 指 向刪除節點的下一個節點 next;既然無法通過修改指針完成,那 么肯定要修改鏈表節點的值了,所以只要將刪除節點 node 的值和 指針都改為下一個節點 next 的值和指針即可。# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = Noneclass Solution:def deleteNode(self, node):""":type node: ListNode:rtype: void Do not return anything, modify node in-place instead."""node.val = node.next.valnode.next = node.next.next
總結
以上是生活随笔為你收集整理的22. Leetcode 237. 删除链表中的节点 (链表-基础操作类-删除链表的节点)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 链表常用技巧
- 下一篇: 23. Leetcode 86. 分隔链