【算法】代码随想录之链表(更新中)

文章目录

前言

一、移除链表元素(LeetCode--203)


前言

跟随代码随想录,学习链表相关的算法题目,记录学习过程中的tips。


一、移除链表元素(LeetCode--203)

【1】题目描述:

【2】解决思想:在当前节点判定下一个节点的val是否是目标值,若是则修改当前节点的next指针为下一个节点的next地址。为了使操作更加一致,创建一个头节点辅助操作。

【3】C++代码:

/**
 * 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) {
        struct ListNode* headNode = new ListNode(0, head);
        struct ListNode* pNode = headNode;
        while (pNode->next) {
            if (pNode->next->val == val) {
                auto tmp = pNode->next;
                pNode->next = pNode->next->next;
                delete tmp;
            } else {
                pNode = pNode->next;
            }
        }
        auto tmp = headNode->next;
        delete headNode;
        return tmp;
    }
};

【4】时间复杂度:O(N),只遍历了一遍链表。

【5】空间复杂度:O(1),只是开辟了一个头节点而已。


相关推荐

  1. 代码随想

    2024-07-13 07:16:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 07:16:02       49 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 07:16:02       53 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 07:16:02       42 阅读
  4. Python语言-面向对象

    2024-07-13 07:16:02       53 阅读

热门阅读

  1. GetX 踩坑之移除路由栈中的某个页面

    2024-07-13 07:16:02       21 阅读
  2. (C++01 栈与队列) 栈与队列的实现,栈的应用

    2024-07-13 07:16:02       14 阅读
  3. openresty+lua遍历 redis set

    2024-07-13 07:16:02       24 阅读
  4. Xcode持续集成之道:自动化构建与部署的精粹

    2024-07-13 07:16:02       24 阅读
  5. 把Docker的虚拟磁盘文件移动到别的盘符

    2024-07-13 07:16:02       21 阅读
  6. Linux C++ 060-设计模式之中介者模式

    2024-07-13 07:16:02       19 阅读
  7. MyBatis-Plus 关联查询

    2024-07-13 07:16:02       25 阅读
  8. 离线安装docker-compse

    2024-07-13 07:16:02       21 阅读
  9. license系统模型设计使用django models

    2024-07-13 07:16:02       25 阅读
  10. vue3 学习笔记06 -- pinia的简单使用

    2024-07-13 07:16:02       24 阅读
  11. C# Winform 自定义事件实战

    2024-07-13 07:16:02       20 阅读
  12. Linux RTL8111/8168/8411 不能联网

    2024-07-13 07:16:02       20 阅读
  13. 图论基础概念(详细讲解)

    2024-07-13 07:16:02       19 阅读
  14. ARFoundation系列讲解 - 94 Immersal 简介

    2024-07-13 07:16:02       18 阅读