本文主要是介绍力扣203移除链表元素,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
203. 移除链表元素
给你一个链表的头节点 head
和一个整数 val
,请你删除链表中所有满足 Node.val == val
的节点,并返回 新的头节点 。
1,设置一个头节点,统一操作。
2,这里是用p查找,但是对比是 用p的下一个节点的value值进行对比。当找到时设置一个临时节点q记录。
思考:是否可以用p指针查找value,设置一个pre????
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* removeElements(ListNode* head, int val) {ListNode* Lnode = new ListNode(0);//开一个头节点Lnode->next = head;ListNode *p;p = Lnode;while(p->next!=NULL){if(p->next->val==val){ListNode*q;q=p->next;p->next = q->next;delete q;}else{p=p->next;}}head = Lnode->next;delete Lnode;return head ;}
};
这篇关于力扣203移除链表元素的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!