LeetCode---Remove Linked List Elements
来源:互联网 发布:使命召唤10怎么优化 编辑:程序博客网 时间:2024/06/03 15:43
题目大意:给出一个链表,和一个要移除元素,返回移除了所有元素的链表。
算法思想:
1.首先,判断表头的元素与所给元素是否相等,采用循环的方式移除所有与表头元素。
2.采用前驱指针的方法,通过遍历链表,移除链表中符合要求的元素。
代码如下:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* removeElements(ListNode* head, int val) { if(head==NULL) return NULL; while(head->val==val){ ListNode* temp=head; if(head->next==NULL){ delete head; return NULL; } head=head->next; delete temp; } ListNode *pre=head,*cp=head->next; while(cp!=NULL){ if(cp->val==val){ pre->next=cp->next; delete cp; cp=pre->next; } else{ pre=cp; cp=cp->next; } } return head; }};
0 0
- [LeetCode] Remove Linked List Elements
- [LeetCode]Remove Linked List Elements
- Leetcode--Remove Linked List Elements
- [LeetCode]Remove Linked List Elements
- leetcode Remove Linked List Elements
- [LeetCode] Remove Linked List Elements
- [leetcode]Remove Linked List Elements
- leetcode--Remove Linked List Elements
- [LeetCode] Remove Linked List Elements
- 【leetcode】Remove Linked List Elements
- LeetCode:Remove Linked List Elements
- [leetcode]Remove Linked List Elements
- Remove Linked List Elements [leetcode]
- LeetCode: Remove Linked List Elements
- LeetCode Remove Linked List Elements
- [Leetcode]Remove Linked List Elements
- LeetCode Remove Linked List Elements
- Remove Linked List Elements -- leetcode
- 文件过滤
- c# ascill码和对应字符转化
- 关于PADS的一些概念和实用技巧(二)
- Mongo中id介绍
- 链表的创建 查找 排序 插入 删除 逆序 长度 显示
- LeetCode---Remove Linked List Elements
- 自定义函数库
- 好用的iOS开发工具
- C++学习笔记1——iostream与整型
- android、java将集合逆序排列
- 集体智慧编程第四章[搜索引擎与排名]总结
- phpstorm集成phpunit
- iOS学习笔记(十七)——文件操作(NSFileManager)
- 拷贝PDF中文字出现英文乱码的问题