zoukankan      html  css  js  c++  java
  • 刷题-力扣-203. 移除链表元素

    203. 移除链表元素

    题目链接

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/remove-linked-list-elements/
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    题目描述

    给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。

    示例 1:

    输入:head = [1,2,6,3,4,5,6], val = 6
    输出:[1,2,3,4,5]
    

    示例 2:

    输入:head = [], val = 1
    输出:[]
    

    示例 3:

    输入:head = [7,7,7,7], val = 7
    输出:[]
    

    提示:

    • 列表中的节点在范围 [0, 104] 内
    • 1 <= Node.val <= 50
    • 0 <= k <= 50

    题目分析

    1. 根据题目描述删除链表中等于val的结点

    代码

    /**
     * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     ListNode *next;
     *     ListNode() : val(0), next(nullptr) {}
     *     ListNode(int x) : val(x), next(nullptr) {}
     *     ListNode(int x, ListNode *next) : val(x), next(next) {}
     * };
     */
    class Solution {
    public:
        ListNode* removeElements(ListNode* head, int val) {
            if (head == nullptr) return head;
            while (head->val == val) {
                head = head->next;
                if (head == nullptr) return head;
            }
            ListNode* p = head;
            while (p->next) {
                if (p->next->val == val) {
                    p->next = p->next->next;
                } else {
                    p = p->next;
                }
            }
            return head;
        }
    };
    
  • 相关阅读:
    selenium之 关闭窗口close与quit
    如何去掉xmind的备注红色下划线
    cmd里面快速粘贴复制的设置方式以及初始位置设置
    Python中的空格和缩进问题总结
    python 单例实现
    logging 简单使用
    CTypes
    类装饰器使用
    Django admin
    Django 视图
  • 原文地址:https://www.cnblogs.com/HanYG/p/14858898.html
Copyright © 2011-2022 走看看