LeetCode 203. Remove Linked List Elements
来源:互联网 发布:淘宝布头论斤卖 编辑:程序博客网 时间:2024/05/21 11:08
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
一、算法分析
本来很简单的一道题,但是LeetCode上的链表题目默认是不带头指针的,结果花了我不少时间修改了几个版本;主要问题有:(1)head==null的时候要有判断;(2)head->val==val (或者是开头的几个都是val) 的时候,这时开头的几个都要删除,简单的return head->next; 是不行的;(3)因为没有头结点,所以pre不好赋值;
综合上面这三点,我最后想到的解决方案就是循环判断head->val==val,若成立就一直head=head->next; 注意这里要把head!=null 判断放到前面,否则 当head==null时,直接运行head->val会出错的。
ps:必须抱怨一句,为什么链表不带头结点那 = =
二、C语言实现
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* removeElements(struct ListNode* head, int val) { struct ListNode *p,*pre,*temp; while(head!=NULL && head->val == val){ head=head->next; } if(head==NULL){ return head; } pre=head; p=head->next; while(p){ if(p->val==val){ pre->next=p->next; p=pre->next; }else{ pre=p; p=p->next; } } return head;}
0 0
- 203. Remove Linked List Elements leetcode list
- [LeetCode]203.Remove Linked List Elements
- 203. Remove Linked List Elements Leetcode Python
- 【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 OJ> 203. Remove Linked List Elements
- 203. Remove Linked List Elements LeetCode
- 【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. Remove Linked List Elements
- [Leetcode]203. Remove Linked List Elements
- 【leetcode】203. Remove Linked List Elements
- 欢迎使用CSDN-markdown编辑器
- Java并发
- 第三题:等式变换 输入一个正整数X,在下面的等式左边的数字之间添加+号或者-号,使得等式成立。 1 2 3 4 5 6 7 8 9 = X
- Http头介绍:Expires,Cache-Control,Last-Modified,ETag
- display:table-cell的常见应用场景
- LeetCode 203. Remove Linked List Elements
- 高效显示Bitmap(一) 高效加载大图
- 九度oj:题目1009 二叉搜索树
- 将CVS、mdb等转成db(sqlite)格式
- 浅谈Java集合中Array(数组)的应用
- Map实现快速增补数组
- Android开发实践:Java层与Jni层的数组传递
- 搭建linux服务器之Debian设置静态IP
- Android N 截图曝光,手机也能同屏多任务了!