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

OR36 链表的回文结构 题解

题目描述:链表的回文结构_牛客题霸_牛客网 (nowcoder.com)

对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。

给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900

测试样例:

1->2->2->1       返回:true

题解思路:

  1. 找到中间节点;
  2. 在利用翻转链表的方法,将以中间节点(newList)为新的头节点来翻转链表;
  3. 通过遍历比较两个链表的各个值:如果对应有一个节点的数值不相等,就返回false;如果所以节点的数值都相等,就返回ture。

代码:

struct ListNode* midNode(ListNode* head)
{struct ListNode* fast = head, *slow = head;while(fast && fast->next){fast = fast->next->next;slow = slow->next;}return slow;
}struct ListNode* reverseList(struct ListNode* head)
{struct ListNode* n1 = NULL, *n2 = head, *n3 = head->next;while(n2 != NULL){n2->next = n1;n1 = n2;n2 = n3;if(n3 != NULL){n3 = n3->next;}}return n1;
}
bool chkPalindrome(ListNode* A) {// 找到中间节点struct ListNode* mid = midNode(A);// 翻转链表struct ListNode* newHead = reverseList(mid);// 比较struct ListNode* cur1 = A, *cur2 = newHead;while(cur1 && cur2){if(cur1->val != cur2->val){return false;}else {cur1 = cur1->next;cur2 = cur2->next;}}return true;}

 

注:

如果你还想知道回文数是如何判断的可以看一下,这一篇博客:http://t.csdn.cn/giq9u

翻转链表方法详细解释:http://t.csdn.cn/BLwnA

找链表中间节点:http://t.csdn.cn/uYTNe


本次内容到此结束了!如果你觉得这篇博客对你有帮助的话 ,希望你能够给我点个赞,鼓励一下我。感谢感谢……

相关文章:

OR36 链表的回文结构 题解

题目描述:链表的回文结构_牛客题霸_牛客网 (nowcoder.com) 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结…...

“去没有天花板的地方” | 小红书用户情绪数据

最近,话题#人就要待在没有天花板的地方#社媒讨论度居高不下,小红书相关话题近90天互动量超百万。 生活的无常之外,越来越多人渴望与大自然更深层次的链接,以此寻找情绪的不同出口。或许,剖析这些情绪的生成机理&#x…...

Java文件操作(遍历目录中的文件,找到并删除有指定关键字的文件)

对于通过java对文件继续读取和写入的操作推荐看读取文件和写入文件操作 题目 扫描指定目录中的文件,并找到名称中包含指定字符的所有普通文件(不包括目录),并后续询问用户是否要删除该文件 题目分析 实际上题目就要求我们对一个…...

MySQL单表查询

单表查询 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker ( 部门号 int(11) NOT NULL, 职工号 int(11) NOT NULL, 工作时间 date NOT NULL, 工资 float(8,2) NOT NULL, 政治面貌 varch…...

苹果正在测试新款Mac mini:搭载M3芯片 配备24GB大内存

据悉苹果目前正在测试新的Mac机型,亮点是采用最新的M3芯片。 据报道,首款搭载M3芯片的设备应该是13英寸的MacBook Pro和重新设计的MacBook Air,Mac mini机型并不在名单上。 M3和M2同样拥有最多8个核心,分别为4个性能核和4个能效核…...

redis的缓存更新策略以及如何保证redis与数据库的数据一致性

redis的缓存更新策略有这么几种: 1、由应用直接和redis以及数据库相连接: 查询数据时,应用去redis中查询,查不到的话再由应用去数据库中查询,并将查询结果放在redis; 更新数据时&#xff…...

k8s--使用cornJob定时执行sql文件

CronJob apiVersion: batch/v1beta1 kind: CronJob metadata:name: hello spec:schedule: "0 * * * *"jobTemplate:spec:template:spec:containers:- name: postgres-alpineimage: xxxximagePullPolicy: IfNotPresentcommand:- psql- -h- 数据库服务地址- -d- 数据库…...

Qt事件过滤器

1 介绍 事件过滤器是一种机制,当某个QObject没有所需要的事件功能时,可将其委托给其它QObject,通过eventFilter成员函数来过滤实现功能。 2 主要构成 委托: ui->QObject1->installEventFilter(QObject2); eventFilter声明 …...

Java基础集合框架学习(上)

文章目录 初识基础框架为什么使用集合框架集合框架的继承关系ArrayList入门案例单元测试和增删改查单元测试的注意事项LinkedList入门案例ArrayList底层是数组LinkedList底层是链表ArrayList和LinkedList选型ArrayList存放DOG对象 初识基础框架 Java基础集合框架是Java编程语言…...

北京多铁克FPGA笔试题目

1、使用D触发器来实现二分频 2、序列检测器,检测101,输出1,其余情况输出0 module Detect_101(input clk,input rst_n,input data, //输入的序列output reg flag_101 //检测到101序列的输出标志 );parameter S0 2d0;S1 2d1;S2 2d2;S4 …...

从初学者的角度来理解指针常量和常量指针

重新理解指针常量,常量指针 应用 我先提一个问题:知道指针常量,常量指针存在的作用是什么吗? 先了解它们存在的作用再去理解它们,或许更轻松些。 比如配置文件读取:在许多工程中,配置文件用于…...

C# OpenCvSharp 去水印 图像修复

效果 项目 VS2022.net4.8OpenCvSharp4 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Security.Cryptography; using System.Text; usi…...

考研算法第40天:众数 【模拟,简单题】

题目 本题收获 又是一道比较简单的模拟题,就不说解题思路了,说一下中间遇到的问题吧,就是说cin输入它是碰到空格就停止输入的,详细的看下面这篇博客对于cin提取输入流遇到空格的问题_while(cin) 空格_就是那个党伟的博客-CSDN博…...

MySQL:内置函数、复合查询和内外连接

内置函数 select 函数; 日期函数 字符串函数 数学函数 其它函数 复合查询(多表查询) 实际开发中往往数据来自不同的表,所以需要多表查询。本节我们用一个简单的公司管理系统,有三张 表EMP,DEPT,SALGRADE来演示如何进行多表查询…...

【HTML】label 标签

在HTML中&#xff0c;<label> 标签用于为表单元素创建标签文本或标题。它可以与输入字段&#xff08;如文本框、单选按钮、复选框等&#xff09;和其他表单元素关联起来&#xff0c;以提高可用性和可访问性。 <label> 元素有两种常见的用法&#xff1a; 包裹方式…...

python视频流截图(按帧数)

一、安装opencv计算机视觉库 pip install opencv-python二、视频流截图 1、读取视频文件&#xff0c;获取视频帧数 import cv2 # 视频位置 video_path path_file_name # 读取视频 cap cv2.VideoCapture(video_path) # 获取视频总帧数 frame_count cap.get(cv2.CAP_PROP_F…...

MongoDB SQL

Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\Administrator>cd C:\MongoDB\Server\3.4\binC:\MongoDB\Server\3.4\bin> C:\MongoDB\Server\3.4\bin> C:\MongoDB\Server\3.4\bin>net start MongoDB 请求的…...

node js连接mysql数据库

首先&#xff0c;确保你已经安装了 mysql2 模块。如果没有安装&#xff0c;可以使用以下命令进行安装&#xff1a; npm install mysql2创建一个 Node.js 脚本&#xff0c;例如 connectToMysql.js&#xff0c;并使用以下代码&#xff1a; const mysql require(mysql2);// 创建…...

通过Python模拟计算附近WIFI密码,没有我蹭不到的网

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 今天来分享一下如何通过 Python 脚本实现 WIFI 密码的自动猜解 无图形界面 先来看看怎么实现没有图形界面版的自动猜解。 WIFI猜解 导入模块 import pywifi from pywifi import const import time import datetime测试连…...

ubuntu20.04 远程桌面配置记录【亲测好用】

简介 ubuntu系统下有好几种不同方式的远程桌面方式&#xff0c;本人都使用过&#xff0c;以下是一些使用总结&#xff1a; vnc4server&#xff1a;其中vnc4server对gnome桌面支持不好 vino&#xff1a;系统自带&#xff0c;但需要用户登录一次后才能远程&#xff0c;并且需要安…...

二分查找进阶:旋转排序数组的两道经典题深度解析

目录 一、搜索旋转排序数组&#xff08;LeetCode 33・中等&#xff09; 题目描述 解题思路 Java 代码实现&#xff08;标准二分版&#xff09; 复杂度分析 核心知识点总结 二、寻找旋转排序数组中的最小值&#xff08;LeetCode 153・中等&#xff09; 题目描述 解题思…...

Git-RSCLIP模型训练全流程:从数据准备到模型评估

Git-RSCLIP模型训练全流程&#xff1a;从数据准备到模型评估 1. 引言 如果你对多模态AI感兴趣&#xff0c;想要亲手训练一个能够理解图像和文本关系的模型&#xff0c;那么Git-RSCLIP绝对是个不错的起点。这个基于改进CLIP架构的模型&#xff0c;通过对比学习让计算机学会理解…...

EmbeddingGemma-300m在Ollama中的应用:专利技术图谱自动生成

EmbeddingGemma-300m在Ollama中的应用&#xff1a;专利技术图谱自动生成 1. 专利分析的技术挑战与解决方案 专利工程师每天面对堆积如山的专利文档&#xff0c;传统人工分类方法效率低下且容易遗漏关键信息。以通信领域为例&#xff0c;一份典型的专利摘要可能包含"基于…...

Nano-Banana Studio详细步骤:上传图片→选风格→调参→下载高清图

Nano-Banana Studio详细步骤&#xff1a;上传图片→选风格→调参→下载高清图 1. 认识Nano-Banana Studio&#xff1a;你的智能拆解设计助手 Nano-Banana Studio是一款基于先进AI技术的图像生成工具&#xff0c;专门帮助用户将各种物品一键生成专业级的拆解展示图。无论是服装…...

OpenClaw Windows 一键部署教程|Win10/11 通用小白版

适配系统&#xff1a;Windows10/11 64 位当前版本&#xff1a;v2.3.10/v2.3.12&#xff08;虾壳云版&#xff09;核心优势&#xff1a;全程可视化操作&#xff0c;无需命令行、无需手动配置 Python/Node.js&#xff0c;内置全部运行依赖&#xff0c;5 分钟即可完成部署&#xf…...

STM32F103 HAL库实战:DMA+USART驱动RS-485半双工通讯

1. RS-485通讯基础与STM32方案选型 在工业自动化领域&#xff0c;RS-485总线因其抗干扰能力强、传输距离远&#xff08;最长1200米&#xff09;、支持多点连接&#xff08;最多32个节点&#xff09;等特性&#xff0c;成为传感器网络、PLC控制等场景的首选。与常见的UART不同&a…...

终极KCC多设备兼容指南:Kindle、Kobo、ReMarkable全支持的漫画转换神器

终极KCC多设备兼容指南&#xff1a;Kindle、Kobo、ReMarkable全支持的漫画转换神器 【免费下载链接】kcc KCC (a.k.a. Kindle Comic Converter) is a comic and manga converter for ebook readers. 项目地址: https://gitcode.com/gh_mirrors/kc/kcc KCC&#xff08;Ki…...

Llama-3.2V-11B-cot实战教程:从安装到图文问答,全程无报错操作手册

Llama-3.2V-11B-cot实战教程&#xff1a;从安装到图文问答&#xff0c;全程无报错操作手册 1. 工具简介 Llama-3.2V-11B-cot是一款基于Meta多模态大模型开发的高性能视觉推理工具&#xff0c;专门针对双卡4090环境进行了深度优化。这个工具最大的特点是解决了传统大模型部署中…...

YOLO12实时目标检测模型应用:工业质检场景下的缺陷检测

YOLO12实时目标检测模型应用&#xff1a;工业质检场景下的缺陷检测 1. 工业质检场景的技术挑战 工业质检是制造业中至关重要的环节&#xff0c;传统人工检测方式面临三大核心挑战&#xff1a; 效率瓶颈&#xff1a;人工检测速度通常在0.5-2秒/件&#xff0c;难以满足现代生产…...

扁率和椭率详解

扁率和椭率详解 引言 在几何学、地球科学、天文学等领域,扁率和椭率是两个非常重要的概念。它们描述了几何体(尤其是旋转椭球体)的形状特征,对于理解地球形状、天体运动以及各种工程应用都具有重要意义。本文将深入探讨扁率和椭率的概念、定义、数学推导、应用场景以及使…...