首页 > 学院 > 开发设计 > 正文

203. Remove Linked List Elements

2019-11-08 02:19:44
字体:
来源:转载
供稿:网友

题目

Remove all elements from a linked list of integers that have value val.

Example Given: 1 –> 2 –> 6 –> 3 –> 4 –> 5 –> 6, val = 6 Return: 1 –> 2 –> 3 –> 4 –> 5

Credits: Special thanks to @mithmatt for adding this PRoblem and creating all test cases.

Subscribe to see which companies asked this question.


思路

遍历链表删除对应节点,注意删除首节点,尾节点,最后删除后为NULL的场景


代码

/** * 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; } ListNode* tempHead = new ListNode(0); tempHead->next = head; ListNode* tempNode = tempHead; ListNode* freeNode; while(tempNode->next) { if(tempNode->next->val == val) { freeNode = tempNode->next; tempNode->next = freeNode->next; free(freeNode); continue; } tempNode = tempNode->next; } tempNode = tempHead->next; free(tempHead); return tempNode; }};
上一篇:nyoj 145 聪明的小珂

下一篇:方法引用

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表