leetcode-回文链表
234. 回文链表
在此对比的值,不是节点
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:def isPalindrome(self, head: Optional[ListNode]) -> bool:dummy_head = ListNode(next=head)cur = dummy_head.nextval = []while cur:val.append(cur.val)cur = cur.nextreturn val==val[::-1]
使用快慢指针法找到链表的中点,将后半部分链表反转,最后比较前半部分和反转后的后半部分是否相同。
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:def isPalindrome(self, head: Optional[ListNode]) -> bool:if not head or not head.next:return Truedummy_head = ListNode(next=head)slow, fast = dummy_head, dummy_headwhile fast and fast.next:slow = slow.nextfast = fast.next.nextprev, cur = None, slow.nextwhile cur:tmp = cur.nextcur.next = prevprev = curcur = tmpp1, p2 = dummy_head.next, prevwhile p2:if p1.val != p2.val:return Falsep1 = p1.nextp2 = p2.nextreturn True
相关文章:
leetcode-回文链表
234. 回文链表 在此对比的值,不是节点 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def isPalindrome(self, head: Optional[ListNod…...
Pinia:一个Vue的状态管理库
Pinia的使用方法包括以下步骤: 安装Pinia:通过yarn或npm进行安装: yarn命令: yarn add pinianpm命令: npm install pinia创建根存储:在main.ts中引入Pinia插件,并创建一个根存储。这可以通过创建…...
2024 Flutter 重大更新,Dart 宏(Macros)编程开始支持,JSON 序列化有救
说起宏编程可能大家并不陌生,但是这对于 Flutter 和 Dart 开发者来说它一直是一个「遗憾」,这个「遗憾」体现在编辑过程的代码修改支持上,其中最典型的莫过于 Dart 的 JSON 序列化。 举个例子,目前 Dart 语言的 JSON 序列化高度依…...
云计算概述(云计算类型、技术驱动力、关键技术、特征、特点、通用点、架构层次)(二)
云计算概述(二) (云计算类型、技术驱动力、关键技术、特征、特点、通用点、架构层次) 目录 零、00时光宝盒 一、云计算类型(以服务的内容或形态来分) 二、云计算的12种技术驱动力 三、云计算的关键技术 四、云计…...
物流平台架构设计与实践
随着电商行业的迅猛发展,物流行业也得到了极大的发展。从最初的传统物流到现在的智慧物流,物流技术和模式也在不断的更新与升级。物流平台作为连接电商和物流的重要媒介,其架构设计和实践显得尤为重要。 一、物流平台架构设计 1. 前端架构设…...
RedHat8.4安装邮件服务器
一、配置发件服务器 1.1 根据现场IP,配置主机名 vim /etc/hosts 192.168.8.120 mail.test.com 将主机名更改为邮件服务器域名mail.test.com 1.2 关闭防火墙,禁止开机启动 systemctl stop firewalld systemctl disable firewalld 1.3 关闭selinux v…...
Linux Shell系列--dirname 去除基本文件名
一、目的 上一篇中我们介绍了basename命令的使用,本篇我们介绍dirname命令,dirname 命令与 basename 互补,它负责删除路径中的基本文件名部分(包括扩展名),只保留目录部分。 二、介绍 dirname首先去除字符…...
池化技术的总结
文章目录 1.什么是池化技术2.池化技术的应用一、连接池二、线程池三、内存池 3.池化技术的总结 1.什么是池化技术 池化技术指的是提前准备一些资源,在需要时可以重复使用这些预先准备的资源。 在系统开发过程中,我们经常会用到池化技术。通俗的讲&am…...
H5简约星空旋转引导页源码
H5简约星空旋转引导页源码 源码介绍:一款带有星空旋转背景特效的源码,带有四个按钮 下载地址: https://www.changyouzuhao.cn/11655.html...
前端学习之路(4) vue2和vue3的区别
一. 根节点不同 vue2中必须要有根标签vue3中可以没有根标签,会默认将多个根标签包裹在一个fragement虚拟标签中,有利于减少内存。 二. 组合式API和选项式API 在vue2中采用选项式API,将数据和函数集中起来处理,将功能点切割了当…...
网络原理-TCP/IP(5)
TCP协议 延迟应答 它也是基于滑动窗口,提高效率的一种机制,结合滑动窗口以及流量控制,能够以延迟应答ACK的方式,把反馈的窗口,搞大.核心在于允许范围内,让窗口尽可能大. 如果接收数据的主机立刻返回ACK应答,这时候返回的窗口可能比较小. 1.假设接收端缓冲区为1M.一次收到了5…...
Docker 常用命令详细介绍
Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker 使用概率最高的命令…...
10G PON演进到50G PON
10G-PON是万兆无源光网络,光纤链路传输速率能够达到10Gbps。根据ZTE的报告称,截至2023年6月,全球10G PON出货量已超过3000万个PON端口,其中中国市场份额约占80%。 10G PON在中国市场的广泛部署,显着推进了10G PON产业链…...
智能指针——浅析
智能指针 本人不才,只能将智能指针介绍一下,无法结合线程进行深入探索 介绍及作用 在异常产生进行跳转时,通过栈帧回收进行内存释放,防止内存泄漏 基于RAII思想可以创建出只能指针 RAII(Resource Acquisition Is Initializatio…...
JAVA后端上传图片至企微临时素材
1.使用场景 在使用企业微信API接口中,往往开发者需要使用自定义的资源,比如发送本地图片消息,设置通讯录自定义头像等。 为了实现同一资源文件,一次上传可以多次使用,这里提供了素材管理接口:以media_id来…...
MySQL-----初识
一 SQL的基本概述 基本概述 ▶SQL全称: Structured Query Language,是结构化查询语言,用于访问和处理数据库的标准的计算机语言。SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统SystemR上实现。 ▶美国国家标…...
[基础IO]文件描述符{重定向/perror/磁盘结构/inode/软硬链接}
文章目录 1. 再识重定向2.浅谈perror()3.初始文件系统4.软硬链接 1. 再识重定向 图解./sf > file.txt 2>&1 1中内容拷贝给2 使得2指向file 再学一个 把file的内容传给cat cat拿到后再给file2 2.浅谈perror() open()接口调用失败返回-1,并且错误码errno被适当的设置,…...
NAS系统折腾记 – Emby搭建家庭多媒体服务器
Emby简介 Emby是一款优秀的媒体服务器软件,致力于为用户提供丰富的多媒体体验。通过Emby,您可以方便地在家庭内的各种设备上观看您喜爱的电影、电视剧和其他视频内容。而且,Emby还具备强大的媒体管理功能,让您的影视资源井然有序…...
#从零开始# 在深度学习环境中,如何用 pycharm配置使用 pipenv 虚拟环境
为Python项目创建虚拟环境 在深度学习环境和一般python环境中安装pipenv基本一致,只需要确认好pipenv指定的python版本即可,安装pipenv前,可以通过python --version来确认安装版本 快捷键:crtl alt S 查看interpreter,查看所有…...
Cmake编译Opencv3.3.1遇到有些文件无法下载的错误解决:
前言: 对于,opencv有些配置文件错误并未致命,所以,有错误也不影响后续的编译:但是,后引用如果要用,在回过头来还是要解决的。 问题表述: 比如,有些文件下载的错误&am…...
信号处理基础:时域与频域分析详解
1. 信号分析的双重视角:时域与频域 作为一名在信号处理领域工作多年的工程师,我经常需要向新人解释时域和频域的关系。简单来说,时域就像观察一个人的日常行为记录,而频域则像是给这个人做了一次全面的体检报告。两者描述的是同一…...
C#海康视觉VM4.1二次开发框架源码:多流程、运动控制卡、服务框架详解
C#基于海康视觉VM4.1的二次开发框架源码,有多流程框架 运动控制卡 服务框架 需要有海康VM的基础并且有海康威视VM开发狗GVM V2.7 代码功能说明引言本文旨在详细说明GVM V2.7版本软件的核心功能及其实现机制。GVM是一款基于海康威视VM4.1视觉平台进行二次开发的框架软…...
RL训练像点外卖?ProRL底层逻辑拆解(非常详细),从入门到精通看这篇!
一句话讲清楚👉🏻 NVIDIA提出ProRL Agent,把多轮LLM Agent的RL训练中「轨迹生成(Rollout)」这一步从训练框架中彻底剥离出来,变成一个独立的HTTP服务,训练侧只需发HTTP请求就能拿到轨迹和奖励信…...
ngx_http_cmp_conf_addrs
1 定义 ngx_http_cmp_conf_addrs 函数 定义在 ./nginx-1.24.0/src/http/ngx_http.cstatic ngx_int_t ngx_http_cmp_conf_addrs(const void *one, const void *two) {ngx_http_conf_addr_t *first, *second;first (ngx_http_conf_addr_t *) one;second (ngx_http_conf_addr_t…...
Unity UXML和USS实战:像搭积木一样设计你的第一个编辑器窗口
Unity UXML与USS模块化开发指南:构建可维护的编辑器界面 在Unity编辑器扩展开发中,界面设计往往成为制约开发效率的瓶颈。传统IMGUI虽然灵活,但维护成本随界面复杂度呈指数级增长。UI Toolkit带来的UXML/USS工作流,正在重塑Unity工…...
快马平台十分钟速成:用自然语言驱动你的第一个任务管理Agent原型
最近在尝试用AI技术简化日常任务管理,发现用自然语言驱动的任务管理Agent特别有意思。这种Agent能理解我们随口说的任务需求,自动分类整理,比传统手动输入方便多了。今天就来分享如何在十分钟内快速搭建这样一个原型,特别适合想验…...
别再傻傻分不清了!微信支付H5、JSAPI、Native三种模式到底怎么选?附服务商模式实战代码
微信支付三大模式深度解析:从技术选型到服务商实战 每次面对微信支付的H5、JSAPI和Native三种模式,不少开发者都会陷入选择困难症。去年我们团队在为一个连锁零售品牌做线上商城升级时,就因为在模式选择上判断失误,导致小程序支付…...
告别模型臃肿:手把手教你用vLLM部署NVFP4量化的DeepSeek模型(附完整配置)
实战指南:NVFP4量化DeepSeek模型在vLLM中的高效部署 当你在深夜调试一个70B参数的模型时,服务器内存占用突然从480GB骤降到120GB——这不是魔法,而是NVFP4量化带来的真实效果。作为Blackwell架构引入的革命性4-bit格式,NVFP4正在…...
LangGraph条件边实战:手把手教你打造一个能‘看图说话’的客服工单分流Agent
LangGraph条件边实战:打造智能客服工单分流系统 想象一下,当用户向客服系统发送"我要退款"或"查询物流"这样的请求时,系统能像经验丰富的客服主管一样,瞬间理解意图并将工单精准路由到对应处理部门。这不再是…...
AI辅助开发:让快马智能生成2048论坛登录模块的异常处理与安全加固代码
AI辅助开发:让快马智能生成2048论坛登录模块的异常处理与安全加固代码 最近在开发2048论坛的登录模块时,我发现手动编写所有异常处理和安全加固代码非常耗时。幸运的是,我发现了InsCode(快马)平台,它集成了多款AI大模型ÿ…...
