LeetCode203. Remove Linked List Elements
Posted 业精于勤荒于嬉,行成于思毁于随
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode203. Remove Linked List Elements相关的知识,希望对你有一定的参考价值。
题目描述:
从一个整型链表里面移除值等于val的节点。
解题思路:
需要一个指针指向前驱节点,遍历链表,针对符合条件的节点,分两种情况处理
1)如果前驱节点不为空,前驱节点指向当前节点的下一个节点
2)如果前驱节点为空,头指针指向当前节点下一个节点
如果节点的值不等于val,前驱节点指针指向当前节点。
代码如下:
/** * 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) { ListNode* pre = NULL; ListNode* cur = head; while(cur != NULL) { if (cur->val == val) { if (pre != NULL) { pre->next = cur->next; }else { head = cur->next; } }else { pre = cur; } cur = cur->next; } return head; } };
以上是关于LeetCode203. Remove Linked List Elements的主要内容,如果未能解决你的问题,请参考以下文章
Java [Leetcode 203]Remove Linked List Elements
leetcode?python 203. Remove Linked List Elements
203. Remove Linked List Elements - LeetCode
LeetCode OJ 203Remove Linked List Elements