题目

python代码

正序删除

将倒数第n个转换成正数的处理。然后分为头、尾、中三种情况处理:

def removeNthFromEnd( head, n):pointer = headlength = 0while pointer:pointer = pointer.nextlength += 1if length == 1:return Nonepointer = headif n >= length:head.val = head.next.valhead.next = head.next.nextelse:if n == 1:for i in range(length - 2):pointer = pointer.nextpointer.next = Noneelse:for i in range(length - n - 1):pointer = pointer.nextpointer.next = pointer.next.nextreturn head

双指针

用两个相差n位的指针遍历链表,用右指针判断,用左指针进行操作。

def removeNthFromEnd(head, n):if head.next == None:return Noneleft = right = headsi = 0while si < n:si += 1right = right.nextif right == None:head = head.nextreturn headwhile right.next != None:left = left.nextright = right.nextif n == 1:left.next = Noneelse:left.next = left.next.nextreturn head

力扣--19删除链表中的倒数第n个节点相关推荐

  1. 力扣—— 19. 删除链表的倒数第 N 个结点(java)、剑指 Offer 22. 链表中倒数第k个节点(java)

    19. 删除链表的倒数第 N 个结点(java) 一.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 输入:head = [1,2,3 ...

  2. LeetCode19. Remove Nth Node From End of List 删除链表中的倒数第n个位置的元素

    前言 本文是LeetCode19. Remove Nth Node From End of List解法,这个题目需要删除链表中的倒数第n个位置的元素 代码 # -*- coding: utf-8 - ...

  3. (力扣)LeetCode19. 删除链表的倒数第 N 个结点(C++/C语言)

    一.环境说明 本文是 LeetCode 19题 : 删除链表的倒数第 N 个结点,使用c语言实现 使用双指针方法,算法性能较好. 测试环境:Visual Studio 2019 二.代码展示 快慢指针 ...

  4. python删除链表的倒数第k个节点,剑指offer 链表中的倒数第K个节点 Python and C++

    题目描述 输入一个链表,输出该链表中倒数第k个结点. 思路 假设链表中的节点数大于等于k个,那么一定会存在倒数第k个节点,首先使用一个快指针先往前走k步,然后两个指针每次走一步,两个指针之间始终有k的 ...

  5. 删除链表中全部值为k的节点

    1. 问题描写叙述 给定一个单链表,删除当中值为k的全部节点.比如:1→2→6→3→4→5→6,删除当中值为6的节点,返回:1→2→3→4→5. 2. 方法与思路 这是一个简单的链表操作题.删除是要考 ...

  6. 【力扣-JZ22】链表中倒数第k个结点

  7. 力扣1047. 删除字符串中的所有相邻重复项(JavaScript)

    var removeDuplicates = function(s) {let arr=[]for (const x of s){//如果前一个相同,则删除前一个,且不加入当前值,查找下一个if(ar ...

  8. 【力扣(LeetCode)】【C/C++】【19.删除链表的倒数第 N 个结点】

    学习时间: 2023年1月30日 题目描述: 题解分享: // 作 者 : 繁 华 倾 夏 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h&g ...

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

    描述: 19. 删除链表的倒数第 N 个结点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:head = [1,2,3,4, ...

最新文章

  1. Python 解一道江苏 小升初 数学题,如此变态,看不起来谁?
  2. java -version cmd_java如何运行步骤cmd?Java执行cmd命令方法有哪些?
  3. linux线程同步(3)-读写锁
  4. RestFul通信风格
  5. ACM-ICPC 2018 徐州赛区网络预赛 Morgana Net
  6. hdu 6086 Rikka with String(AC自动机+状压dp)
  7. 面向接口编程 (噬菌体) 不错的接口
  8. 【同行说技术】Java程序员小白变大神必读资料汇总(三)
  9. early stopping softmax批量梯度下降(BGD)手动实现
  10. bootstrap 4 自动水平居中
  11. 如何用c语言写一个简答的整人小程序
  12. 使用linux的MTD tests support测试flash性能
  13. PTA顺序表基本操作
  14. 软件测试自动化测试工具有哪些?常见的自动化工具简介
  15. Sniffer软件简介
  16. 置信区间 VS 置信水平
  17. vue全家桶指的是哪些?
  18. CCRC认证是什么,ISCCC与CCRC是什么关系?
  19. 弗洛伊德算法(floyd)
  20. 三顶红帽子和两顶白(蓝)帽子。

热门文章

  1. python 打开本地程序发生异常_Python中的异常处理
  2. python布尔类型运算_Python对象类型及其运算方法(详解)
  3. 格子染色问题 java_《Mathematical Olympiad——组合数学》——染色问题
  4. Deformable-DETR的学习笔记
  5. ESP32开发 0.windows Vscode开发环境搭建,基于esp-idf-V4.2 | Cmake | Vscode插件
  6. MQTT.fx客户端MQTT接入阿里云物联网平台,登录、订阅、发布消息
  7. Linux中shell提示符定制
  8. Java语言程序设计(序)
  9. 【MySQL】事务隔离级别
  10. 项目经理的商务指南系列之二:认识责任(敏捷开发,专家与杂家)