当前位置: 首页 > 编程日记 > 正文

leetcode--删除链表的倒数第N个节点--python

文章目录

  • 题目
    • 题目详情
    • 示例
    • 说明
  • 解题思路
    • 思路
    • 代码
    • 运行结果
    • 最佳方案

题目

题目详情

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。

示例

给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.

说明

给定的 n 保证是有效的。

解题思路

思路

  1. 设置两个指针,一快一慢
  2. 快的指针先遍历到n个节点,然后慢的指针再跟着快指针一起遍历
  3. 当快指针遍历完成时,就说明已经查找到了要删除掉的节点

代码

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = Noneclass Solution:def removeNthFromEnd(self,head,n):if not head:returnnode = ListNode(0)node.next = headfast = node          while n:             #快指针遍历n个节点fast = fast.nextn -= 1slow = nodewhile fast.next:            #当快指针遍历结束时fast = fast.nextslow = slow.nextslow.next = slow.next.nextreturn node.next

运行结果

在这里插入图片描述

最佳方案

36ms,其实也是快慢指针。

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = Noneclass Solution:def removeNthFromEnd(self, head: 'ListNode', n: 'int') -> 'ListNode':ret = ListNode(-1)ret.next = headfront = rettail = headfor _ in range(n):          #快指针先遍历n个节点tail = tail.nextwhile tail is not None:           #快指针遍历结束front = front.nexttail = tail.nextfront.next = front.next.nextreturn ret.next

相关文章:

VmWare 与 宿主主机通信 STEP BY STEP (适用于刚開始学习的人)

基本原理 在虚拟机中有三种通信方式,例如以下图所看到的 1. Bridged(桥接模式) 在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的主机,它能够訪问网内不论什么一台机器只是你须要多于一个的IP地址,并且须要手工为 …

古墓丽影8通关了

大概完了两三周吧,每天玩两个多小时,终于把它通关了。这里谈一下我的感受。 画面、声音非常棒,游戏场景也十分宏大,人物造型也更适合东方的审美观,比古墓7强了不少。人物的花样更多了,操作也非常流畅&#…

如何利用遗传算法进行自变量降维

如何利用遗传算法进行自变量降维 GAOT工具箱下载地址:http://download.csdn.net/download/lsgo_myp/9721624 乳腺癌数据集下载地址:http://download.csdn.net/download/lsgo_myp/9721664

leetcode--括号生成--python

文章目录题目题目详情示例解题思路思路代码运行结果最佳方案题目 题目详情 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 示例 例如,给出 n 3,生成结果为:["(((…

smarty的简单分页

以下是模板中的smarty代码,用smarty简单的代入相关的变量就行了,非常简单,但是在php代码中还要传入page这个参数。我觉得这样分挺好,非常简单。我越来越喜欢用smarty了 {if $pageCount > 1} {foreach itemi from$pagerList} {if $pageN…

如何利用遗传算法进行自变量降维(代码部分)

如何利用遗传算法进行自变量降维(代码部分) main.m 主函数 输入自变量优化适应度子函数 fitness.m 输入自变量优化编码解码子函数 de_code.m BP网络权值和阈值优化适应度子函数 gabpEval.m BP网络权值和阈值优化编码解码子函数 gadecod.m 输出结果

unity3d教程运行物理机制

首先,我们将把Hooke定律写Euler方法结合在一起找到新坐标、加速和速度。Hooke定律是Fkx,这里的F是指由水流产生的力(记住,我们将把水体表面模拟为水流),k是指水流的常量。x则是位移。我们的位移将成为每一个…

leetcode--电话号码和字母组合--python

文章目录题目题目详情示例解题思路思路代码运行结果最佳方案题目 题目详情 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 输入&#xff1a…

轻松记账工程冲刺第二阶段10

昨天干了什么: 对页面进行优化测试,对软件进行测试,找出bug,并调试bug 今天准备干什么: 测试完成后,进行应用的发布。注册应用商店账户,然后对apk进行加固签名,并进行发布等待审核。…

Matlab与线性代数 -- 矩阵的范数

本图文介绍了矩阵的范数以及在Matlab中的具体操作。

leetcode--罗马数字转整数--python

文章目录题目题目详情示例解题思路思路代码运行结果最佳方案题目 题目详情 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L …

如何利用azMan (Authorization Manager) 实现 role-based的安全验证机制

在WCF中如何配置基于asp.net role的授权机制&#xff0c;看了些时日&#xff0c;总算有点眉目了 。 以下是一个典型的通过自定义的role-based (principalPermissionModeUseAspNetRoles)来进行授权的WCF service config file. Code<?xml version"1.0" encoding&q…

spring-cloud-ribbon负载均衡

Ribbon Ribbon是一个基于HTTP和TCP客户端的负载均衡器。Feign中也使用Ribbon&#xff0c;后续会介绍Feign的使用。 Ribbon可以在通过客户端中配置的ribbonServerList服务端列表去轮询访问以达到均衡负载的作用。 当Ribbon与Eureka联合使用时&#xff0c;ribbonServerList会被Di…

LSGO代码小组第17周复盘日志

本图文是15级数理系黄佳新同学代表代码小组进行的学习汇报内容。

leetcode--最小路径和--python

文章目录题目题目详情示例解题思路思路动态规划小知识代码运行结果最佳方案题目 题目详情 给定一个包含非负整数的 m x n 网格&#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。 说明&#xff1a;每次只能向下或者向右移动一步。 示例…

Python 编写用户登录接口

附有流程图可以看一看&#xff0c;第一次画会慢慢改进的。代码如下&#xff1a;1.User 用户名存储文件王二 123 张三 1234 李四 1234562.Lock_User 被锁用户文件3. Land.py 主程序文件#codingutf-8import sysi0while i<3:print("----Welcome------&quo…

再发布一个windows live writer 插件 图标信息框 wlw plugin icon info frame

原地址&#xff1a; http://www.zu14.cn/2008/12/14/wlw_plugin_icontip/ 自上次发布 windows live writer 插件 coolemotion 之后&#xff0c;已经有一段时间了&#xff0c;今天再发布一款 其实&#xff0c;这个插件已经发布很久了&#xff0c; 只是我懒得去 windows live gal…

什么是抽样分布?

本图文详细介绍了抽样分布的概念并利用Matlab进行了仿真。有团队孔令才博士提供。

leetcode--下一个更大元素II--python

文章目录题目题目详情示例解题思路思路代码运行结果最佳方案题目 题目详情 给定一个循环数组&#xff08;最后一个元素的下一个元素是数组的第一个元素&#xff09;&#xff0c;输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序&#xff0c;这个数字…

我也说说Emacs吧(6) - Lisp速成

前面我们学习了基本操作&#xff0c;也走马观花地看了不少emacs lisp的代码。这一章我们做一个lisp的速成讲座。 Lisp的含义是表处理语言。它的代码组成结构都是用括号组成的表来表示的。Lisp中的功能&#xff0c;要么是以函数形式求值&#xff0c;要么本身就是一些特殊表。比如…

Matlab与数据结构 -- 如何获取给定目录中的文件

本图文详细介绍了Matlab中如何获取给定目录中文件的操作。

我的资源 分享区

把最近所做过一些程序都发上来。希望有用。已经上传了我的资源里面去了 第一期&#xff1a; 2007年制作的手机抽奖程序&#xff08;没完善版本&#xff09;&#xff1a; As 2.0 版本手机抽奖程序&#xff1a;http://dl4.csdn.net/fd.php?i60728776657431&s52b0082a4017dde…

软件测试概述--基础篇

文章目录软件测试概述软件测试基本概念软件测试的目的和原则软件测试的分类测试用例软件测试概述 软件测试基本概念 软件缺陷&#xff1a;俗话说就是bug。即计算机软件或程序存在某种破坏正确运行能力的问题、错误或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不…

Matlab与线性代数 -- 矩阵的连接

本图文介绍了Matlab中矩阵连接的cat方法。

Load balancer does not have available server for client

最近在研究spring-cloud&#xff0c;研究zuul组件时发生下列错误&#xff1a; Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client: zuul-server 解决办法就是在pom文件里添加 <dependency> <groupId>or…

js 抛出异常 throw

netsuite中&#xff0c;有的时候在流程上我们需要控制&#xff0c;停止现有流程那么可以采取一种比较无奈的办法。 由于一些特殊情况&#xff0c;我们可以编写详细的流程控制&#xff0c;如netsuite销售人员可以审批一些SO单据&#xff0c;但并不是所有的SO单据他都能自己审批。…

leetcode--长按键入--python

文章目录题目题目详情示例解题思路思路代码运行结果最佳方案题目 题目详情 你的朋友正在使用键盘输入他的名字 name。偶尔&#xff0c;在键入字符 c 时&#xff0c;按键可能会被长按&#xff0c;而字符可能被输入 1 次或多次。 你将会检查键盘输入的字符 typed。如果它对应的…

Visual Studio 2008 每日提示(十四)

本篇包括tip131-tip140 http://www.watch-life.net/visual-studio/visual-studio-2008-tip-day-14.html #131、你为什么会把窗体设置成为浮动&#xff08;模式&#xff09; 原文链接:Why you would want to make a Tool Window Floating 如果你想把工具窗体放在一个特定的区域&…

mysql双机热备的实现

转&#xff1a;http://blog.csdn.net/qq394829044/article/details/53203645 Mysql数据库没有增量备份的机制&#xff0c;当数据量太大的时候备份是一个很大的问题。还好mysql数据库提供了一种主从备份的机制&#xff0c;其实就是把主数据库的所有的数据同时写到备份的数据库中…

Matlab编程与数据类型 -- 多维数组

本图文详细介绍了Matlab中的多维数组。