[C语言][LeetCode][203]Remove Linked List Elements
来源:互联网 发布:mac安装win8系统 编辑:程序博客网 时间:2024/06/06 06:54
题目
Remove Linked List Elements
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
标签
Linked List
难度
简单
分析
题目意思是给定一个单链表和一个value,删除链表里和value相同的节点,返回新的链表。我的做法是先找到要返回链表的头结点,然后遍历链表,如果遇到和value不相同的节点,则保存节点,否则跳过。
C代码实现
struct ListNode* removeElements(struct ListNode* head, int val) { struct ListNode * p; struct ListNode * q; struct ListNode * ret; if(!head) return NULL; p = head; while(p && (p->val == val)) // find the head of the return list { p = p->next; } if(!p) return NULL; q = p; ret = q; // keep the first element of the return list p = p->next; while(p) { if(p->val != val) // if val is not equal the p->val, save it to the return list { q->next = p; q = p; } p = p->next; } q->next =NULL; return ret;}
0 0
- [C语言][LeetCode][203]Remove Linked List Elements
- [leetcode-203]Remove Linked List Elements(c)
- [LeetCode练习题-C语言]203. Remove Linked List Elements
- 【LeetCode】 203. Remove Linked List Elements C语言
- LeetCode 203 Remove Linked List Elements
- LeetCode 203-Remove Linked List Elements
- leetcode 203: Remove Linked List Elements
- LEETCODE 203 Remove Linked List Elements
- [LeetCode 203]Remove Linked List Elements
- leetcode 203 Remove Linked List Elements
- [Leetcode 203, Easy] Remove Linked List Elements
- Leetcode NO.203 Remove Linked List Elements
- leetCode #203 remove linked list elements
- LeetCode 203:Remove Linked List Elements
- 【leetcode】【单链表】【203】Remove Linked List Elements
- 【leetcode 203 Remove Linked List Elements 】
- leetcode[203]:Remove Linked List Elements
- Leetcode[203]-Remove Linked List Elements
- 设计模式——工厂模式和策略模式的区别
- 水题
- npm
- 全面介绍Windows内存管理机制及C++内存分配实例
- 越努力,越幸运
- [C语言][LeetCode][203]Remove Linked List Elements
- Windows下安装SuperLU
- Java源码分析:深入探讨Iterator模式
- 搜索旋转排序数组
- bzoj 4198(哈夫曼编码)
- 点击下拉菜单按钮根据下拉框的值在当前页面显示不同的网页内容。
- 事务类型与数据库隔离级别
- TextView上显示C++代码
- 备份短信和添加短信