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

【LeetCode 203. 移除链表元素(c++)】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; } };


    推荐阅读