建信01.?間隔刪除鏈表結點
給你一個鏈表的頭結點?head
,每隔一個結點刪除另一個結點(要求保留頭結點)。
請返回最終鏈表的頭結點。
示例 1:
輸入:
head = [1,2,3,4]
輸出:?
[1,3]
解釋:
藍色結點為刪除的結點
示例 2:
輸入:
head = [5,1,8,6,1]
輸出:?
[5,8,1]
提示:
- 鏈表中結點的數目在
[1, 5000]
范圍內。 1 <= Node.val <= 10000
解題思路
先獲取到需要被刪除節點的下一個節點,將當前節點的next指針指向該節點,即完成刪除
class Solution {
public:ListNode* deleteListNode(ListNode* head) {ListNode *ur=head;while (head!= nullptr&&head->next!= nullptr){ListNode *next=head->next->next;head->next=next;head=head->next;}return ur;}
};