【Lintcode】452. Remove Linked List Elements
发布日期:2021-05-03 18:44:34 浏览次数:11 分类:技术文章

本文共 783 字,大约阅读时间需要 2 分钟。

题目地址:

给定一个链表,再给定一个数val,要求删去链表中所有等于val的节点。代码如下:

public class Solution {       /**     * @param head: a ListNode     * @param val: An integer     * @return: a ListNode     */    public ListNode removeElements(ListNode head, int val) {           // write your code here        // 用一个dummy node连在链表前面        ListNode dummy = new ListNode(0);        dummy.next = head;        ListNode prev = dummy;                while (prev.next != null) {               if (prev.next.val == val) {                   prev.next = prev.next.next;            } else {                   prev = prev.next;            }        }                return dummy.next;    }}class ListNode {       int val;    ListNode next;    ListNode(int x) {           val = x;    }}

时间复杂度 O ( n ) O(n) O(n),空间 O ( 1 ) O(1) O(1)

上一篇:【Lintcode】112. Remove Duplicates from Sorted List
下一篇:【Lintcode】113. Remove Duplicates from Sorted List II

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月03日 00时18分52秒