zoukankan      html  css  js  c++  java
  • LeetCode 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

    按照常规,设定一个dummyHead元素来避免特殊情况的处理

    /**
     * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     ListNode *next;
     *     ListNode(int x) : val(x), next(NULL) {}
     * };
     */
     // 9:33
    class Solution {
    public:
        ListNode* removeElements(ListNode* head, int val) {
            ListNode dummyHead(0);
            dummyHead.next = head;
            ListNode* pre = &dummyHead;
            ListNode* cur = dummyHead.next;
            
            while (cur != NULL) {
                if (cur->val == val) {
                    ListNode* del = cur;
                    cur = cur->next;
                    pre->next = cur;
                    delete del;
                } else {
                    pre = cur;
                    cur = cur->next;
                }
            }
            return dummyHead.next;
        }
    };
  • 相关阅读:
    C++实现高斯滤波器
    移动通信
    最简单的DLL
    C/C++ 编译和链接过程
    Servlet 详解
    对 Java 集合的巧妙利用
    Java 泛型
    Java 字符编码与解码
    HTTP 400 错误
    a 标签的四种样式
  • 原文地址:https://www.cnblogs.com/lailailai/p/4455413.html
Copyright © 2011-2022 走看看