删除node从list, 这个有内存泄露么,怎么释放内存,对于那个被删除的节点?# JobHunting - 待字闺中
C*n
1 楼
class Solution {
public:
ListNode *removeNthFromEnd(ListNode *head, int n) {
if (n==0 || !head){
return NULL;
}
ListNode* res = new ListNode(0);
res->next = head;
head = res;
ListNode* p=head;
ListNode* q=head;
for (int i=0;i<=n;i++){
if (q){
q=q->next;
}else{
return NULL;
}
}
while (q){
p=p->next;
q=q->next;
}
p->next=p->next->next;
return head->next;
}
};
删除node从list, 这个有内存泄露么,怎么释放内存,对于那个被删除的节点?
public:
ListNode *removeNthFromEnd(ListNode *head, int n) {
if (n==0 || !head){
return NULL;
}
ListNode* res = new ListNode(0);
res->next = head;
head = res;
ListNode* p=head;
ListNode* q=head;
for (int i=0;i<=n;i++){
if (q){
q=q->next;
}else{
return NULL;
}
}
while (q){
p=p->next;
q=q->next;
}
p->next=p->next->next;
return head->next;
}
};
删除node从list, 这个有内存泄露么,怎么释放内存,对于那个被删除的节点?