/**
* 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* modifiedList(vector<int>& nums, ListNode* head) {
set<int> st(nums.begin(),nums.end());
ListNode* h=new ListNode();
ListNode* p1=h;
while(head!=nullptr){
ListNode* nx=head->next;
if(!st.count(head->val)){
p1->next=head;
p1=p1->next;
p1->next=nullptr;
}
head=nx;
}
return h->next;
}
};
利用集合查找元素、提早设置一个next节点用于保存下一个查找节点、要设置尾部节点的next为nullptr