移除链表元素"/>
LeetCode 的 C++ 实现(十一)移除链表元素
题目描述
删除链表中等于给定值 val 的所有节点。
示例:
输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5
哨兵节点
ListNode* removeElements(ListNode* head, int val) {ListNode* dummy = new ListNode(0);dummy->next = head;ListNode* pre = dummy;while(head != nullptr){if(head->val == val){pre->next = head->next;}else {pre = pre->next;}head = head->next;}return dummy->next;}
递归
ListNode* removeElements(ListNode* head, int val) {if(head == nullptr)return head;head->next = removeElements(head->next ,val);return head->val == val?head->next:head;}
更多推荐
LeetCode 的 C++ 实现(十一)移除链表元素
发布评论