鏈表相關題目---19、刪除鏈表的倒數第N個節點

題目鏈接:刪除鏈表的倒數第N個節點

這道題 很常規的思路就是 先拷貝兩次頭結點 然后一個先走N步 然后同時開始走,直到先走N步的節點為空后,就停止,此時另一個沒提前走的節點的下一個就是要刪除的節點。不過需要注意的是,我們需要單獨處理鏈表只有1個的時候的情況,以及如果刪除的是頭結點該怎么處理。所以,處于對頭結點處理的方便,我們選擇創建兩個啞節點,next指向頭結點,請注意這里是因為對鏈表只有遍歷操作,沒有其他什么操作,所以可以兩個互相不影響,只是找位置而已。所以見如下代碼:

C#:

/*** Definition for singly-linked list.* public class ListNode {*     public int val;*     public ListNode next;*     public ListNode(int val=0, ListNode next=null) {*         this.val = val;*         this.next = next;*     }* }*/
public class Solution {public ListNode RemoveNthFromEnd(ListNode head, int n) {if(head==null || head.next==null){return null;}ListNode dummyA = new ListNode(0); // 虛擬節點dummyA.next = head;                // next指向頭ListNode dummyB = new ListNode(0); dummyB.next = head;ListNode nodeA = dummyA;           // 拷貝一次用于處理ListNode nodeB = dummyB;int index = 0;while(index<n){                    // 先走N步nodeB = nodeB.next;index++;}while(nodeB!=null && nodeB.next!=null){nodeA = nodeA.next;nodeB = nodeB.next;}ListNode next = nodeA.next.next;nodeA.next = next;return dummyA.next;}
}

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

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

相關文章

Vue工具類使用指南:實用函數與全局組件安裝

概述在Vue項目開發中&#xff0c;我們經常需要一些通用的工具函數來處理路徑轉換、鏈接判斷、數據格式化等任務。本文將介紹一個實用的Vue工具類&#xff0c;包含多種常用功能&#xff0c;并演示如何在項目中使用它們。工具函數詳解1. 路徑轉駝峰命名import { pathToCamel } fr…

?Visual Studio + UE5 進行游戲開發的常見故障問題解決

從零開始&#xff0c;學習 虛幻引擎5&#xff08;UE5&#xff09;&#xff0c;開始游戲開發之旅&#xff01; 本文章僅提供學習&#xff0c;切勿將其用于不法手段&#xff01; 有些項目在 Visual Studio 的 Unreal Engine 集成配置界面中&#xff0c;涉及 ?Unreal Engine 與 V…

MiniCPM-V4.0開源并上線魔樂社區,多模態能力進化,手機可用,還有最全CookBook!

今天&#xff0c;面壁小鋼炮新一代多模態模型 MiniCPM-V 4.0 正式開源。依靠 4B 參數&#xff0c;在 OpenCompass、OCRBench、MathVista 等多個榜單上取得了同級 SOTA 成績&#xff0c;且 實現了在手機上穩定、絲滑運行。此外&#xff0c;面壁團隊也正式開源了 推理部署工具 Mi…

FCT/ATE/ICT通用測試上位機軟件

在當今智能制造與電子產品快速迭代的背景下&#xff0c;功能測試&#xff08;FCT&#xff09;已成為確保產品質量的關鍵環節。然而&#xff0c;傳統的測試上位機往往存在擴展困難、功能固化、二次開發成本高等問題。為此&#xff0c;我們提出一款模塊化、可擴展、可腳本化的 FC…

IndexTTS介紹與部署(B站開源的工業級語音合成模型)

語音合成效果非常好&#xff0c;可作為自己日常文本轉語音使用工具&#xff01; 軟件介紹 IndexTTS 是由嗶哩嗶哩&#xff08;B 站&#xff09;開源的工業級可控高效零樣本文本轉語音&#xff08;TTS&#xff09;系統&#xff0c;基于 XTTS 和 Tortoise 構建&#xff0c;采用 …

uniApp對接實人認證

前端代碼部分<template><view class"wrap"><view class"box"><view class"item flex-row align-items-center space-between"><view class"name"><text style"color:#FF4D4D">*</te…

pytest 并發執行用例(基于受限的測試資源)

概要 本文主要介紹了如何在測試資源&#xff08;被測對象&#xff09;受限的情況下&#xff0c;使用 pytest 進行并發測試以減少總體測試時間的方法和過程。 背景 在軟件開發過程中&#xff0c;我們通常使用測試用例來持續保證軟件的質量&#xff08;例如&#xff0c;確保關…

結構化智能編程:用樹形向量存儲重構AI代碼理解范式

結構化智能編程:用樹形向量存儲重構AI代碼理解范式 告別暴力embedding,通過分層存儲策略讓AI精準理解百萬行代碼庫 在AI編程助手日益普及的今天,開發者面臨一個新的困境:當項目規模達到數萬甚至數百萬行代碼時,傳統的暴力向量化方法不僅效率低下,而且往往導致AI理解偏差。…

GPT5 / 深度研究功能 無法觸發

具體表現為&#xff1a; 1.沒有GPT5標識2.回答是GPT43.無法觸發深度研究功能請問如何解決&#xff1f;

一鍵腳本:自動安裝 Nginx + Certbot + HTTPS(Let‘s Encrypt)

創建腳本文件?&#xff1a; vi setup_nginx_https.sh腳本內容&#xff1a; #!/bin/bash# # 一鍵安裝 Nginx Certbot HTTPS (CentOS 7) # 功能&#xff1a;自動安裝 Nginx、Certbot&#xff0c;配置 HTTPS&#xff0c;自動續期 # 使用方法&#xff1a;./setup_nginx_https.s…

SpringAI與MCP

MCP是什么&#xff1f;MCP 服務 代理服務&#xff08;Proxy&#xff09; 標準化接口 自動化適配MCP 的目的&#xff0c;就是讓 AI 應用不再“為每個工具定制對接 ”&#xff0c;而是像使用 USB-C 一樣&#xff0c;“插上即用”任何外部工具。沒mcp之前不同的工具入參和出參千…

Coze用戶退出登錄流程分析-后端源碼

前言 本文將深入分析Coze Studio項目的用戶退出登錄功能后端實現&#xff0c;通過源碼解讀來理解整個退出登錄流程的架構設計和技術實現。退出登錄作為用戶認證系統的重要組成部分&#xff0c;主要負責清理用戶會話狀態&#xff0c;確保用戶賬戶安全。 退出登錄功能雖然相對簡單…

【應急響應工具教程】Unix/Linux 輕量級工具集Busybox

1、工具簡介BusyBox 是一個將常用 Unix/Linux 工具打包在單一可執行文件中的輕量級工具集&#xff0c;被稱為 “嵌入式 Linux 的瑞士軍刀”。 它將多個精簡版的命令行工具&#xff08;如 ls、cat、cp、mv、grep 等&#xff09;集成到一個二進制文件中&#xff0c;并通過不同的調…

【React】案例:B站評論

目錄 一、核心功能實現 二、id處理和時間處理 三、清空內容并重新聚焦 一、核心功能實現 1.獲取評論內容&#xff1a;表單受控綁定 2.點擊發布按鈕發布評論 二、id處理和時間處理 1.rpid要求一個唯一的隨機數id -uuid庫 npm install uuid 使用方法&#xff1a;import {v4 as…

sqlite創建數據庫,創建表,插入數據,查詢數據的C++ demo

sqlite的API可參考&#xff1a;SQLite – C/C | 菜鳥教程 sqlite的官網API可參考&#xff1a;Introduction #include <iostream> #include <sqlite3.h> #include <string>// 回調函數&#xff0c;用于查詢結果的輸出 static int callback(void* data, int …

部分CSS筆試題講解

1. box-sizing: border-box 的作用問題&#xff1a; 默認的 CSS 盒模型 (content-box) 中&#xff0c;元素的 width 和 height 屬性只指定了內容區域的尺寸。如果你給元素添加了 padding 或 border&#xff0c;這些值會被加在 width/height 之上&#xff0c;導致元素的實際占用…

雅菲奧朗SRE知識墻分享(二):『SRE對智能運維的升級模型』

SRE深度結合AI創新&#xff0c;雅菲奧朗專家劉峰老師總結了近期人工智能運維領域的突破&#xff0c;合計以下15個關鍵點:一、領域1&#xff1a;Dev&Ops 深度融合? 關鍵點1. 組織&#xff1a;Google “SREScale” 最新論文提出「單一故障域 單一 SRE 小組」原則&#xff0…

前端 Promise 全面深入解析

一、Promise基礎概念 1、什么是Promise? Promise是一個表示異步操作最終完成或失敗的對象。它允許你為異步操作的成功結果和失敗原因分別綁定相應的處理方法。 2、Promise的三種狀態 pending(等待中): 初始狀態,既不是成功,也不是失敗 fulfilled(已成功): 操作成功完…

【LIN】2.LIN總線通信機制深度解析:主從架構、五種幀類型與動態調度策略

參考文章&#xff1a; Lin總線通信在STM32作為主機代碼以及從機程序 基于STM32的LIN總線的實現 STM32F0-LIN總線通訊程序代碼 主從調試OK LIN協議通信DEMO及源碼剖析 前文已講解關于LIN幀代碼如何實現&#xff1a;【LIN】1.LIN通信實戰&#xff1a;幀收發全流程代碼實現 幀類型…

Maven的概念與Maven項目的創建

MavenMaven的概念依賴管理項目構建Maven安裝Maven項目的創建Maven的第一個項目Maven的第二個項目Maven的概念 Maven 是 Apache 基金會推出的跨平臺的項目管理工具&#xff0c;主要服務于基于Java平臺的項目構建、依賴管理和項目信息管理&#xff0c;目前是 Java 生態中最主流的…