LintCode452:删除链表中的元素
来源:互联网 发布:淘宝app 商品列表 编辑:程序博客网 时间:2024/06/05 23:06
题目描述
删除链表中等于给定值val的所有节点。
测试样例
给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5。
解题思路
这道题虽然被归为入门题,但是坑很多。上次去深信服面试就问道了这道题。
要注意两点:
1、要删除的元素可能不止一个。
2、要删除的可能是头节点。
明白了这个,就好做了。
代码如下:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: /* * @param head: a ListNode * @param val: An integer * @return: a ListNode */ ListNode * removeElements(ListNode * head, int val) { // write your code here if (head == NULL) return NULL; while (head != NULL && head->val == val) head = head->next; ListNode *cur = head; while (cur !=NULL && cur->next !=NULL){ if (cur->next->val == val){ cur->next = cur->next->next; } else cur = cur->next; } return head; }};
阅读全文
0 0
- LintCode452:删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- 删除链表中的元素
- [SDOI2009]HH去散步
- 创始人周航:乐视挪用13亿直接导致易到如今的资金问题
- 容器技术的火热现状与未来展望 | 硬创公开课
- 指针的理解
- GTK 中的 treeview 构件有浅入深
- LintCode452:删除链表中的元素
- scikit-learn 学习笔记(一)
- 第0课--预热作业
- 定位new
- 08-面向对象(多态-成员变量)1 08-面向对象(多态-成员变量)2
- 大小端规则
- 欢迎使用CSDN-markdown编辑器
- 09-面向对象(多态-成员函数)1 10-面向对象(多态-静态函数)2
- Uber披露2016年财报:总交易额200亿美元,净亏损28亿美元