【解题报告】Leecode 237. 删除链表中的节点——Leecode每日一题系列
今天是堅持每日一題打卡的第八天
題目鏈接:https://leetcode-cn.com/problems/minimum-operations-to-convert-number/
題解匯總:https://zhanglong.blog.csdn.net/article/details/121071779
題目描述
請編寫一個函數,用于 刪除單鏈表中某個特定節點 。在設計函數時需要注意,你無法訪問鏈表的頭節點 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]
示例 5:
輸入:head = [-3,5,-99], node = -3
輸出:[5,-99]
提示:
鏈表中節點的數目范圍是 [2, 1000]
-1000 <= Node.val <= 1000
鏈表中每個節點的值都是唯一的
需要刪除的節點 node 是 鏈表中的一個有效節點 ,且 不是末尾節點
思路:把下一個節點的值賦給該節點,然后刪除下一個節點,這樣,對于鏈表來說,就相當于刪除了這個節點。
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/ class Solution { public:void deleteNode(ListNode* node) {node->val = node->next->val;if(node->next->next == nullptr) {node->next = nullptr;} else {node->next = node->next->next;}} };
總結
以上是生活随笔為你收集整理的【解题报告】Leecode 237. 删除链表中的节点——Leecode每日一题系列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA中创建类时,自动在文件头中添加作
- 下一篇: 【题解报告】Leecode367. 有效