LeetCode编程练习 - Remove Linked List Elements学习心得
题目:
Remove all elements from a linked list of integers that have valueval.
Example
Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6,val
= 6
Return: 1 --> 2 --> 3 --> 4 --> 5
从具有值val的整数列表中删除所有元素。
思路:
类似于数组中的Remove Element,以及链表中Remove Duplicates from Sorted List 相似,在确定链表非空的情况下,判断链表中的指针与目标值相同,若相同,将下一个指针值赋给当前指针。但是显示结果超时。
对比解决方案,思路没有问题,但是我忽略了一点从列表的头部开始移动,遍历列表中的节点,应该从下一个节点开始判断。这样虽然运行结果无误,但是还是有一点被忽略了,如果列表中只有一个指针结果就变成了null。
还有一种方法,就是先将这个值添加到列表中,然后再遍历每个指针与目标值比较。