Leetcode-203. Remove Linked List Elements

来源:互联网 发布:高清直播电视软件 编辑:程序博客网 时间:2024/06/06 05:55

前言:为了后续的实习面试,开始疯狂刷题,非常欢迎志同道合的朋友一起交流。因为时间比较紧张,目前的规划是先过一遍,写出能想到的最优算法,第二遍再考虑最优或者较优的方法。如有错误欢迎指正。博主首发CSDN,mcf171专栏。

博客链接:mcf171的博客

——————————————————————————————

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

这个题目挺简单的,对于这种可能会有头指针被取代的情况,我一般是自己生成一个头,这样无论怎么样只要返回我自己生成的头的下一个就行了,另外这个题目有一点没考虑到,那就是如果下一个是val,那么不应该直接跳到下一个node,而是应该再一次检查下一个node的valYour runtime beats 5.62% of java submissions.

public class Solution {    public ListNode removeElements(ListNode head, int val) {        if(head == null) return head;        ListNode start = new ListNode(0);        start.next = head;        ListNode search = start;        while(search != null && search.next != null){            if(search.next.val == val) search.next = search.next.next;            else search = search.next;        }        return start.next;    }}




0 0
原创粉丝点击