Leetcode:移除链表元素
题目描述:
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。
解题思路:
使用指针遍历链表全部节点,判断当前节点的下一个节点的值与目标值Target相等时,使当前节点指向下一节点的下一节点。为了方便,我们创建一个空的头节点,使其next指针始终指向链表的头节点。在返回链表指针时,直接返回空节点的next指针。
代码实现:
if(head==nullptr){return head;}struct ListNode* Node=new ListNode (0,head);struct ListNode* tmp=Node;//Node->next = head;while(tmp->next != nullptr){if(tmp->next->val == val){tmp->next = tmp->next->next;}else{tmp=tmp->next;}}return Node->next;}

浙公网安备 33010602011771号