【LeetCode题解】203.Remove Linked List Elements

来源:互联网 发布:淘宝卖家退货骗局 编辑:程序博客网 时间:2024/05/02 06:10

题意为删掉一个链表中特定值的节点,整体算法思想比较简单,但是应该注意一些小的细节

大体思想:

1、创建一个pre节点,将其next指针指向head;创建cur指针,将其指向head


2、当pre和pre->next都不为空的时候,进行循环,判断cur指向的节点的val是否与要删除的val相等。相等则用pre的next指针指向cur->next,且pre保持不变,将pre->next赋给cur;若不相等,则pre和cur同时向后移一个节点,注意判断pre是否为空,否则会出现内存泄露

while(pre->next != NULL){    if(cur->val == val){        pre->next = cur->next;    }          else        pre = pre->next;         if(pre==NULL)        break;    cur = pre->next;}


0 0
原创粉丝点击