博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Remove Linked List Elements
阅读量:5846 次
发布时间:2019-06-18

本文共 1235 字,大约阅读时间需要 4 分钟。

Remove all elements from a linked list of integers that have value val.

Example

Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
Return: 1 --> 2 --> 3 --> 4 --> 5

 

 

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */  /* 解题思路: 要分为val 在头,在尾,在链表中间 新建一个头结点,使得链表有以一个空节点为头,然后只需要考虑链表中间和链表尾部的两种情况  */ class Solution {public:    ListNode* removeElements(ListNode* head, int val) {        if(head == NULL)            return head;                ListNode* tempHead = new ListNode(0);        tempHead->next = head;        ListNode* pre = tempHead;        ListNode* cur = head;                while(cur){            if(cur->val == val && cur->next != NULL){                ListNode* ptr = cur;                cur = cur->next;                pre->next = ptr->next;                free(ptr);            }            else if(cur->val == val && cur->next == NULL){                cur = cur->next;                pre->next = cur;            }            else {                pre = pre->next;                cur = cur->next;            }            }                return tempHead->next;    }};

 

转载于:https://www.cnblogs.com/horizonice/p/4770502.html

你可能感兴趣的文章
HDU 2289 Cup (二分)
查看>>
C#中使用Monitor类、Lock和Mutex类来同步多线程的执行
查看>>
[翻译] 使用CSS进行文字旋转
查看>>
读取本地已有的.db数据库
查看>>
C#发现之旅第十一讲 使用反射和特性构造自己的ORM框架
查看>>
使用GHOST对Windows操作系统进行备份和还原
查看>>
KMeans (K均值)算法讲解及实现
查看>>
为什么不应该使用Zookeeper做服务发现?(转载)
查看>>
《JavaScript核心概念及实践》——2.2 变量
查看>>
关于java 1.8的Lambda表达式详解
查看>>
TableView的集合
查看>>
软RAID管理命令mdadm详解
查看>>
控制器 控制器view cell的关系
查看>>
Eclipse RCP 玩转 Spring
查看>>
我的友情链接
查看>>
Nginx的健康检查机制
查看>>
esxi虚拟机中系统克隆及迁移的方法
查看>>
App_Offline.htm 功能
查看>>
java之旅
查看>>
解决linux虚拟机不能上网的问题
查看>>