标签:nts tco span color linked list lis 两种 针对
题目描述:
从一个整型链表里面移除值等于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; } };
【LeetCode】203. Remove Linked List Elements
标签:nts tco span color linked list lis 两种 针对
原文地址:https://www.cnblogs.com/AndrewGhost/p/9351088.html