单链表的经典算法OJ

news/2024/10/21 5:26:00/

目录

1.反转链表

2.链表的中间节点

3.移除链表元素

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

正文开始

1.反转链表

typedef struct ListNode ListNode;
struct ListNode* reverseList(struct ListNode* head) {//判空if(head == NULL)return head;//创建3个指针ListNode* n1,*n2,*n3;n1 = NULL; n2 = head; n3 = n2->next;while(n2){n2->next = n1;n1 = n2;n2 = n3;if(n3)n3 = n3->next;}return n1;
}

2.链表的中间节点

 typedef struct ListNode ListNode;
struct ListNode* middleNode(struct ListNode* head) {//创建快慢指针ListNode* slow = head; ListNode* fast = head;while(fast && fast->next){slow = slow->next;fast = fast->next->next;}return slow;
}

3.移除链表元素

 //创建新链表,pcur不为val则尾插到新链表中
typedef struct ListNode ListNode;
struct ListNode* removeElements(struct ListNode* head, int val) {//创建一个空链表ListNode* newHead, * newTail;newHead = newTail = NULL;//遍历原链表ListNode* pcur = head;while (pcur){//找值不为val的节点,尾插到新链表中if (pcur->val != val){//链表为空if (newHead == NULL){newHead = newTail = pcur;}else {//链表不为空newTail->next = pcur;newTail = newTail->next;}}pcur = pcur->next;}if (newTail)newTail->next = NULL;return newHead;
}

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


http://www.ppmy.cn/news/1540706.html

相关文章

PyTorch 中 functional.py 文件介绍

PyTorch PyTorch 是一个开源的机器学习库,广泛用于计算机视觉和自然语言处理等应用。它由 Facebook 的人工智能研究团队开发,并得到了许多研究机构和企业的支持。PyTorch 以其易用性、灵活性和强大的社区支持而受到欢迎。一些特点如下: 动态…

【openwrt-21.02】Openwrt NAT配置举例

Openwrt NAT配置举例 DNAT Port forwarding for IPv4 (DNAT) 此规则的目标是将端口 2222 上的所有 WAN 端 SSH 访问重定向到 单个 LAN 端工作站的 SSH (22) 端口。 config redirectoption target DNAToption src wanoption dest…

云计算-----单机LNMP结构WordPress网站

LNMP结构 博客网站 day1 小伙伴们,LNMP结构在第一二阶段浅浅的学习过,这里我们可以离线部署该结构。L指(虚拟机)服务器,nginx(前端代理服务器)mysql数据库,最后基于php建设动态…

如何利用动态IP进行数据采集?

在数据驱动的时代,动态IP成为进行高效数据采集的利器。动态IP可以通过频繁更换IP地址避免因频繁访问而受限,从而实现更顺畅的数据获取。本文将详细探讨如何利用动态IP进行数据采集,为企业提升信息获取能力提供实用指导。 如何利用动态IP进行…

前言——25机械考研复试专业面试问题汇总 机械复试超全流程攻略 机械复试看这一个专栏就够用了!机械复试调剂英语自我介绍口语专业面试常见问题总结 机械保研面试

一、开篇寄语: 在准备考研复试的关键时期,许多学弟学妹们往往会寻求各种资料来辅助复习,市面上也因此涌现了大量的“考研复试全流程全攻略”。然而,这些攻略往往存在以下问题: 1、内容不完整性 遗漏关键信息&#x…

OpenCV高级图形用户界面(14)交互式地选择一个或多个感兴趣区域函数selectROIs()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 允许用户在给定的图像上选择多个 ROI。 该函数创建一个窗口,并允许用户使用鼠标来选择多个 ROI。控制方式:使用空格键或…

论文阅读-U3M(2)

HOW MUCH POSITION INFORMATION DO CONVOLUTIONAL NEURAL NETWORKS ENCODE? 文章目录 HOW MUCH POSITION INFORMATION DO CONVOLUTIONAL NEURAL NETWORKS ENCODE?前言一、位置编码网络(PosENet)二、训练数据三、实验3.1 位置信息的存在性3.2 分析PosEN…

【LeetCode每日一题】——523.连续的子数组和

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 前缀和 二【题目难度】 中等 三【题目编号】 523.连续的子数组和 四【题目描述】 给你一个…