LeetCode 203. 移除链表元素(c++)

it2025-06-03  10

203. 移除链表元素

难度简单466收藏分享切换为英文接收动态反馈

删除链表中等于给定值 val 的所有节点。

示例:

输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4->5

 

 递归解法

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* removeElements(ListNode* head, int val) { if(head==NULL){ return NULL; //末尾状态 } if (head !=NULL) { head->next=removeElements(head->next,val); //递归到最后一个结点,从后往前将链表整理好 if(head->val==val){ return head->next; //将本结点的下一结点返回给上一个结点的next } else{ return head; //将本结点返回给上一个结点next } } return head; } };

 

最新回复(0)