当前位置: 首页 > news >正文

链表2-两两交换链表中的节点删除链表的倒数第N个节点链表相交环形链表II

今天记录的题目:
● 24. 两两交换链表中的节点
● 19.删除链表的倒数第N个节点
● 面试题 02.07. 链表相交
● 142.环形链表II

两两交换链表中的节点

题目链接:24. 两两交换链表中的节点
这题比较简单,记录好两个节点,交换其next指向

// 两两交换,注意两个元素交换块修改连接指针的先后顺序
ListNode *swapPairNode(ListNode *head)
{if (head == nullptr || head->next == nullptr) return head;ListNode preNode;preNode.next = head;ListNode *node = &preNode;while (node->next != nullptr && node->next->next != nullptr) {ListNode * nextNode = node->next->next;ListNode *curNode = node->next;curNode->next = nextNode->next;nextNode->next = curNode;node->next = nextNode;node = node->next->next;}return preNode.next;
}

删除链表的倒数第N个节点

题目链接:19. 删除链表的倒数第 N 个结点

解题思路是利用快慢指针,先让快指针前进N步,然后快慢指针一起移动,直到快指针抵达链表末尾,此时慢指针处就是需要删除的元素。

// 快慢指针,注意fastNode 还是fastNode->next
ListNode *deleteLastNNode(ListNode *head, int n)
{ListNode tmpNode;tmpNode.next = head;ListNode* preNode = &tmpNode;ListNode* fastNode = head;while (fastNode != nullptr && n-- > 0) {fastNode = fastNode->next;}if (n > 0) { // 说明链表长度小于nreturn head;}while (fastNode != nullptr) {fastNode = fastNode->next;preNode = preNode->next;}// 删除元素 preNode 的下一个元素preNode->next = preNode->next->next;return tmpNode.next;
}

链表相交

题目链接:面试题 02.07. 链表相交

环形链表 II

题目链接:142. 环形链表 II

链表总结

http://www.lryc.cn/news/132492.html

相关文章:

  • 数据结构之并查集
  • [element-ui] el-date-picker a-range-picker type=“daterange“ rules 校验
  • Dockers搭建个人网盘、私有仓库,Dockerfile制作Nginx、Lamp镜像
  • 2023 CCPC 华为云计算挑战赛 hdu7401 流量监控(树形dp)
  • 01.Django入门
  • 亿赛通电子文档安全管理系统任意文件上传漏洞(2023-HW)
  • docker限制容器日志大小
  • 底层驱动实现数码管显示温湿度数值功能
  • 03架构管理之测试管理
  • 30、devtools 依赖关于自动重启(自动加载页面)的知识
  • ES6 Promise/Async/Await使用
  • Word中对象方法(Methods)的理解及示例(上)
  • AutoDev 1.1.3 登场,个性化 AI 辅助:私有化大模型、自主设计 prompt、定义独特规则...
  • win11 python 调用edge调试过程
  • DS-排序回顾
  • clion软件ide的安装和环境配置@ubuntu
  • Cpp学习——类与对象3
  • 回归预测 | MATLAB实现PSO-RBF粒子群优化算法优化径向基函数神经网络多输入单输出回归预测(多指标,多图)
  • ahooks.js:一款强大的React Hooks库及其API使用教程(四)
  • FOSSASIA Summit 2023 - 开源亚洲行
  • QT 基本对话框
  • ​8th参考文献:[8]许少辉.乡村振兴战略下传统村落文化旅游设计[M]北京:中国建筑出版传媒,2022.
  • Azure静态网站托管
  • LeetCode 热题 100(五):54. 螺旋矩阵、234. 回文链表、21. 合并两个有序链表
  • 常用消息中间件介绍
  • 装饰器读取不到被装饰函数的参数-已解决
  • python爬虫爬取中关村在线电脑以及参数数据
  • chatGPT-对话爱因斯坦
  • 嵌入式软件开发中的数据类型转换
  • The Go Blog 01:反射的法则(译文)