代码随想录Day4 | LeetCode 24. 两两交换链表中的节点、LeetCode 19. 删除链表的倒数第 N 个结点、LeetCode 160. 相交链表

news/2024/9/20 16:58:54/文章来源:https://www.cnblogs.com/li508q/p/18417702

LeetCode 24. 两两交换链表中的节点

递归思想

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def swapPairs(self, head: Optional[ListNode]) -> Optional[ListNode]:if not head or not head.next:return headpre = self.swapPairs(head.next.next)next = head.nexthead.next = prenext.next = headreturn next

LeetCode 25. K 个一组翻转链表

一道拓展

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def reverseKGroup(self, head: Optional[ListNode], k: int) -> Optional[ListNode]:if not head:return headp1 = p2 = headfor _ in range(k):if not p2:return headp2 = p2.nextpre = self.reverseKGroup(p2, k)while p1 != p2:next = p1.nextp1.next = prepre = p1p1 = nextreturn pre

LeetCode 19. 删除链表的倒数第 N 个结点

双指针

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def removeNthFromEnd(self, head: Optional[ListNode], n: int) -> Optional[ListNode]:if not head:return headdummy = ListNode()dummy.next = headp1 = p2 = dummyfor _ in range(n):p2 = p2.nextwhile p2.next:p1 = p1.nextp2 = p2.nextp1.next = p1.next.nextreturn dummy.next

LeetCode 160. 相交链表

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = Noneclass Solution:def getIntersectionNode(self, headA: ListNode, headB: ListNode) -> Optional[ListNode]:p1, p2 = headA, headBwhile p1 != p2:p1 = p1.next if p1 else headBp2 = p2.next if p2 else headAreturn p1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/798835.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中秋 -2024/9/17

今天是中秋假期最后一天,今天主要学习了动态规划算法,写了几个模板题 新算法学了迪杰斯特拉(Dijkstra)算法,只是过程了解了过程,还是不能用代码描述出来 寻找最短路径的算法

干盛辉的第一次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/rjjc这个作业的目标 介绍自己并进行评估,阐明自己的技能、薄弱点,表明期望的课程收获以及课程实践角色扮演姓名-学号 干盛辉-2022329301011一、自我介绍 (1)个人信息 大家好,我叫干盛辉,来自于浙江温州,是 22…

vscode配置java简易教程

java的新手快速配置一、下载jdk java官方地址:https://www.oracle.com/java/technologies/downloads/ 选择适合自己电脑的版本,并下载到一个自己喜欢的地方。二、配置环境变量 记住自己 jdk 的地址,例:我的 jdk 下载到了 D:\app\java 1、JAVA_HOME配置 点击 win 键后,搜索…

GitHub 配置 ssh key 的步骤及原理解释

原文:Github 配置 ssh key 的步骤(大白话+包含原理解释)本文涉及 SSH 相关知识,建议先阅读 SSH 原理与运用(一):远程登录 或者将其作为扩展资料。 前言 在 GitHub 上配置 ssh key 很容易,网上一大堆教程,但基本没有详细解释其原理的,为什么要配?每使用一台主机都要配…

贪吃蛇作业

贪吃蛇界面: 代码:import pygame import random import sys import tkinter as tk from tkinter import messagebox # 初始化pygame pygame.init() # 设置屏幕大小 screen_width = 640 screen_height = 480 screen = pygame.display.set_mode((screen_widt…

数据集的收集

我在这里找到了一个数据集的网站:https://www.kaggle.com/datasets 我这里找到了三个小数据集为例子分别如下: 我写的数据分析如下: 1.数据集名称房价回归数据集来源 https://www.kaggle.com/datasets/prokshitha/home-value-insights?resource=download数据集描述该数据集…

数字签名是什么?

原文:数字签名是什么?文中涉及的密码学基本知识,可以参见对称加密和非对称加密的区别。鲍勃有两把钥匙,一把是公钥,另一把是私钥。鲍勃把公钥送给他的朋友们——帕蒂、道格、苏珊——每人一把。苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效…

存储论——确定性存储模型模型精解

运筹学中的存储问题主要研究如何通过优化库存管理,确保在满足需求的同时,尽可能降低与库存相关的成本。这一问题在生产制造、物流运输、仓储等各个领域具有重要应用。核心目标是通过合理规划进货、存货和出货策略,实现成本最小化和资源的高效利用。在实际应用中,由于需求的…

软工实践第二次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253这个作业的目标 了解小型项目的设计学号 082100170github:完成情况因为对游戏设计没有多大兴趣,所以只是简单地完成了基本的消…

[MySQL]深分页优化

limit深分页为什么会变慢? 先看下表结构: CREATE TABLE account (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键Id,name varchar(255) DEFAULT NULL COMMENT 账户名,balance int(11) DEFAULT NULL COMMENT 余额,create_time datetime NOT NULL COMMENT 创建时间,update_t…

后台地址改了,忘记了,去哪个文件能查看啊

如果您忘记了EyouCMS后台地址,并且知道后台地址曾经被修改过,可以通过查找相关配置文件来确定后台地址。以下是查找EyouCMS后台地址的一般步骤: 查找EyouCMS后台地址查找登录入口文件:EyouCMS后台登录页面通常是在网站根目录下的某个文件,例如 admin.php 或 login.php。您…

如何查杀空间木马

查杀空间木马通常指的是检测和清除托管在Web服务器上的恶意代码或木马程序。这些木马可能是通过漏洞入侵您的网站或服务器后留下的。以下是一些查杀空间木马的基本步骤: 1. 使用安全软件进行扫描安装安全软件:可以使用如360安全卫士等安全软件来进行木马查杀。如果您的服务器…