[LeetCode]203. Remove Linked List Elements
2016-09-05 23:14
176 查看
203. Remove Linked List ElementsRemove 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
删除链表中指定的所有元素。1)删除链表节点时应及时释放节点内存,以免内存泄漏。
2)如果节点值和给定值一致便删除,给*list赋值下个节点;否则取下一节点即可。
Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
Return: 1 --> 2 --> 3 --> 4 --> 5
删除链表中指定的所有元素。1)删除链表节点时应及时释放节点内存,以免内存泄漏。
2)如果节点值和给定值一致便删除,给*list赋值下个节点;否则取下一节点即可。
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* removeElements(struct ListNode* head, int val) { if ( head == NULL ) { return head; } struct ListNode **list = &head; while ( *list ) { if ( (*list)->val == val ) { struct ListNode *delete = *list; *list = (*list)->next; free(delete); } else { list = &(*list)->next; } } return head; }
相关文章推荐
- LeetCode: Remove Duplicates from Sorted Array
- [LeetCode] Add Two Numbers
- LeetCode:4Sum
- LeetCode: Remove Duplicates from Sorted Array II
- LeetCode--Wrod Break
- [C++]LeetCode: 31 Binary Tree Level Order Traversal
- [Leetcode]3Sum Closest
- leetcode || 57、Insert Interval
- leetcode--Symmetric Tree
- [Leetcode]-Minimum Path Sum
- LeetCode之Reverse Linked List
- LeetCode 刷题: 两个二叉树节点的最近公共节点Least Common Ancestor
- [leetcode] 39. Combination Sum 解题报告
- Leetcode ☞ 137. Single Number II ☆☆
- LeetCode(42)-Best Time to Buy and Sell Stock(卖股票)
- LeetCode 152. Maximum Product Subarray(最大乘积)
- LeetCode - 374. Guess Number Higher or Lower
- LeetCode -- 62 Unique Paths
- Leetcode 127. Word Ladder 字符变换 解题报告
- 【leetcode】单链表的插入排序