建信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;}
};