回文鏈表C++

給你一個單鏈表的頭節點 head ,請你判斷該鏈表是否為回文鏈表。如果是,返回 true ;否則,返回 false 。

時間復雜度較大的解法:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/// 通過快慢指針找到中間節點,然后以中間節點為起點翻轉后半部分的節點// 比較前半部節點和后半部翻轉后的節點是否相同
class Solution {
public:ListNode* reverseList(ListNode* head){ListNode* pre=nullptr;ListNode* cur=head;while(cur){ListNode* tmp = cur->next;cur->next = pre;pre = cur;cur=tmp;}return pre;}bool isPalindrome(ListNode* head) {if(head->next == nullptr) return true;// 找到中間節點ListNode* fast = head;ListNode* slow = head;// fast向前的速度是slow的2倍while(fast!=nullptr){fast = fast->next;if(fast!=nullptr){fast = fast->next;}slow = slow->next;}// 翻轉鏈表ListNode* backlist = reverseList(slow);// 依次比較兩鏈表while(backlist){if(head->val != backlist->val)return false;head= head->next;backlist=backlist->next;}return true;}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/87810.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/87810.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/87810.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

限流系列之三:TDMQ for Apache Pulsar 限流技術深度解析

導語 在高速、高吞吐量的消息處理場景中,TDMQ Pulsar 版以其卓越的性能和可擴展性成為眾多企業的首選。然而,隨著生產者和消費者以極高的速度生產/消費大量消息,服務器資源如 CPU、內存、網絡及磁盤 IO 等可能會面臨飽和風險。為此&#xff…

非研發部門參與產品開發過程的價值體現

漢捷咨詢 胡紅衛 企業已經越來越意識到新產品開發項目需要市場、銷售、制造、采購、服務、財務等非研發部門的參與,嘗試建立跨部門的項目組,安排相關人員參與項目,但是效果如何呢?在漢捷咨詢對很多企業調研診斷過程中,…

Kafka的存儲與索引:數據處理的底層奧秘

一、引言 Kafka 之所以能在海量數據的傳輸和處理過程中保持高效的性能和低延遲,背后隱藏著眾多精妙的設計,而其存儲與索引機制便是其中的核心奧秘。接下來,讓我們深入探尋 Kafka 存儲機制的基石與架構。 二、分區與日志組織? Kafka 中的消…

大模型與搜索引擎的技術博弈及未來智能范式演進

基于認知革命與技術替代的全景綜述 一、大模型對搜索引擎的替代性分析:技術范式與市場重構 (1)技術原理的代際分野 傳統搜索引擎遵循 "爬蟲抓取 - 索引構建 - 關鍵詞排序" 的三段式架構,其核心是基于 PageRank 算法的…

XC7K325T數據采集卡設計原理圖:786-基于X86 CPU+XC7K325T的16路16bit 1M sps同步數據采集卡

基于X86 CPUXC7K325T的16路16bit 1M sps同步數據采集卡 一、板卡概述 板卡為緊湊型的X86FPGA的工業監測處理平臺,高度集成的硬件和完整的labview開發軟件,大大方便客戶現場使用。 二、板卡功能 板卡功能 參數內容 X86 SOM核心板 主頻 2.0GHz …

單片機3種按鍵程序消抖方法

1,查詢法延時模式 u8 key01;u8 x0;KEY1;while(1){if(KEY0) //"按鍵按下"{delay(10); //延時10msif(KEY0 && kdy01) //按下有10ms 且上狀態是1。即下降沿時{key00; //將上狀態置0.防止按住不放時&#xff0…

【java面試】線程篇

【java面試】線程篇 一、基礎知識1 線程與進程的區別2 并行與并發的區別3 創建線程的方式4 線程包含了哪些狀態,狀態之間是如何變化的?5 新建三個線程,如何保證他們按照順序執行?6、java中的wait和sleep方法的不同7 如何停止一個正…

RAGFlow是一個基于深度文檔理解的開源RAG引擎

RAGFlow概述 RAGFlow是一款基于深度文檔理解的開源RAG(檢索增強生成)引擎,專注于處理復雜文檔結構并提供精準的語義檢索與生成能力。其核心優勢在于結合多模態文檔解析和智能分段技術,優化傳統RAG流程中的信息提取與答案生成效果…

Git Commit 模板完整配置指南

Git Commit 模板完整配置指南 📋 目錄 Git Commit 模板完整配置指南 📋 目錄🎯 為什么需要 Commit 模板📝 推薦的 Commit 模板 標準模板格式C 項目特化模板 ?? 系統級配置 1. 創建模板文件2. 配置 Git 使用模板3. 驗證配置 &a…

【ELK服務搭建】

Ubuntu 20.04環境下部署Elastic Stack 8.18日志系統完整指南 一、環境準備 系統要求 Ubuntu 20.04 LTS硬件配置:4核CPU / 8GB內存 / 100GB硬盤網絡:需外網訪問權限 1. 基礎環境配置 首先安裝SSH服務以便遠程管理: # 更新軟件源 apt u…

Mac電腦 Office 2024 LTSC 長期支持版(Excel、Word、PPT)

Office 2024 mac,是一款是一款專為蘋果電腦用戶設計的高性能、高安全性的辦公套裝 集成了Word、Excel、PowerPoint、Outlook等經典應用,為用戶提供了一站式的辦公解決方案。 不僅繼承了Office系列一貫的卓越性能,還在功能性和用戶體驗上進行…

深入解析 Schema 在不同數據庫中的百變面孔

在數據庫的世界里,數據是核心資產,但如何高效、有序、安全地組織和理解這些數據?答案就是 Schema(模式或架構)。它如同建筑的圖紙、樂隊的樂譜,是數據庫的設計藍圖和運行規則手冊。今天,我們就來…

Python 數據分析與可視化 Day 2 - 數據清洗基礎

🎯 今日目標 學會識別和處理缺失數據(NaN)學會刪除/填補缺失值清理重復數據修改列類型,準備數據分析 🧼 一、缺失值處理(NaN) ? 1. 檢查缺失值 import pandas as pd df pd.read_csv("…

3DS中文游戲全集下載 任天堂3DS簡介3DS第一方獨占游戲推薦

任天堂3DS 的詳細介紹,涵蓋其硬件特性、核心功能、游戲陣容及歷史地位: 3DS游戲全集下載 https://pan.quark.cn/s/dd40e47387e7 https://sink-698.pages.dev/3ds CIA CCA 等格式可用于3DS模擬器和3DS實體機 3DS 是什么? 全稱:Nin…

【Python小練習】3D散點圖

資產風險收益三維分析 背景 王老師是一名金融工程研究員,需要對多個資產的預期收益、風險(波動率)和與市場的相關性進行綜合分析,以便為投資組合優化提供決策依據。 代碼實現 import matplotlib.pyplot as plt from mpl_toolk…

安寶特案例丨突破傳統手術室,Vuzix AR 眼鏡圓滿助力全膝關節置換術

在巴西圣保羅醫院的手術室里,骨科權威 Ricardo Gobbi醫生正戴著 安寶特 Vuzix 智能 AR 眼鏡,為一位膝關節炎患者實施全膝關節置換術。與傳統手術不同的是,他的視野中實時疊加著骨骼三維模型、切割路徑標線和動態數據 —— 這并非科幻場景&…

qt設置文件自動保存-cnblog

步驟: 「工具」->「選項」->「環境」->「Auto-save modified files」。 可開啟/關閉自動保存文件功能,還可設置自動保存時間的間隔(最短間隔1分鐘)。 鐘)。

linux下如何找到dump文件被生成到哪里了

在大多數 Linux 系統中,核心轉儲文件(core dump)通常由系統自動保存在當前工作目錄下,或者由配置決定其保存位置。核心轉儲文件的默認文件名通常包含進程 ID(PID)和程序名,例如 core.PID 或 cor…

API 調試工具校驗 JSON Mock 接口(一):無參請求與基礎響應驗證

在前后端分離的開發模式中,JSON Mock 工具為前端開發人員在后端接口未就緒時提供了極大便利,能夠模擬返回 JSON 數據的 API 接口,實現前端獨立開發與測試。而 API 開發調試工具 作為一款強大的接口測試工具,可進一步對這些 Mock 接…

單體架構、微服務架構和分布式架構的區別

. 架構定義與核心特征 1.1 單體架構(Monolithic Architecture) 單體架構是將所有功能模塊集中在一個單一代碼庫中的傳統架構模式: 所有功能(UI層、業務邏輯、數據訪問)打包為單一部署單元通常使用單一技術棧開發(如Spring Boot、Django等)共享單一數據庫實例進程內通信(方法…