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

题目描述

输入一个链表,输出该链表中倒数第k个结点。

思路

假设链表中的节点数大于等于k个,那么一定会存在倒数第k个节点,首先使用一个快指针先往前走k步,然后两个指针每次走一步,两个指针之间始终有k的距离,当快指针走到末尾时,慢指针所在的位置就是倒数第k个节点。

做题可能出现的问题

考虑k小于0的情况,其次就是链表的长度是否够k个长度

python

# -*- coding:utf-8 -*-

# class ListNode:

# def __init__(self, x):

# self.val = x

# self.next = None

class Solution:

def FindKthToTail(self, head, k):

# write code here

if not head or k<=0:

return None

p = q = head

count = 0

while q is not None and count

q = q.next

count += 1

if count

return None

while q is not None:

q = q.next

p = p.next

return p

C++

/*

struct ListNode {

int val;

struct ListNode *next;

ListNode(int x) :

val(x), next(NULL) {

}

};*/

class Solution {

public:

ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {

ListNode *ptr1 = pListHead; // 指针1

ListNode *ptr2 = pListHead; //指针2

if (pListHead == NULL || k == 0)//考虑全面

return NULL;

int i;

for(i=0;i

{

if(ptr1->next) // 这个条件等价于方法一种的,if(nnext==null,说明k太大了,超出了链表的总结点个数

ptr1 = ptr1->next;

else

return NULL;

}

while(ptr1->next) // p1走到end, p2开始走

{

ptr1=ptr1->next;

ptr2=ptr2->next;

}

return ptr2;

}

};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520101.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云栖专辑 | 阿里开发者们的第10个感悟:产品经理最优秀的能力,是框架思维,脑海中有蓝图

2015年12月20日&#xff0c;云栖社区上线。2018年12月20日&#xff0c;云栖社区3岁。 阿里巴巴常说“晴天修屋顶”。 在我们看来&#xff0c;寒冬中&#xff0c;最值得投资的是学习&#xff0c;是增厚的知识储备。 所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的…

解决window的bat脚本执行出现中文乱码的问题

解决&#xff1a; 1.使用windows自带的记事本编辑&#xff0c;然后另存的时候&#xff0c;可选择编码方式即可。 2.在代码里修改执行时的编码格式&#xff1a; echo off REM 后续命令使用的是&#xff1a;UTF-8编码 chcp 65001 echo 中文测试 pause

Dubbo作者亲述:那些辉煌、沉寂与重生的故事

摘要&#xff1a; Dubbo 这个名字&#xff0c;最后会变成一个 Apache 的商标&#xff0c;会成为一个在 GitHub 上有 2 万多人关注、一百多人参与贡献的超级项目。 梁飞在 2011 年开源 Dubbo 这个项目的时候&#xff0c;完全没有想过&#xff0c;Dubbo 这个名字&#xff0c;最后…

阿里云提出“云+Fintech”新金融战略 已助上万家金融机构上云

“云是不可逆转的大战略。”12月3日&#xff0c;阿里云智能新金融事业部总经理刘伟光在2019阿里云广东峰会上表示&#xff0c;“云Fintech”将成为数字金融时代的新基础设施&#xff0c;阿里云已整合蚂蚁金服金融科技开放业务能力&#xff0c;利用全栈式金融级技术方案助力金融…

基于Kubernetes 的机器学习工作流

介绍 Pipeline是Kubeflow社区最近开源的一个端到端工作流项目&#xff0c;帮助我们来管理&#xff0c;部署端到端的机器学习工作流。Kubeflow 是一个谷歌的开源项目&#xff0c;它将机器学习的代码像构建应用一样打包&#xff0c;使其他人也能够重复使用。 kubeflow/pipeline…

puppet php,puppet入门实践

版本选择本来是要选择一个最新版本(当时最新版本是4.3)&#xff0c;怎奈官方的yum仓库(https://yum.puppetlabs.com/)中没有最新版本&#xff1b;至少看起来没有4.3&#xff1b;有的是&#xff1a;facter-1.6........facter-2.4........hira-1......mcollective-2......mcollec…

Jmeter 使用脚本 生成html测试报告

每次都要删除jtl文件和report文件夹麻烦&#xff0c;可以写一个bat批处理文件&#xff0c;每次想输出测试报告时&#xff0c;执行下bat文件就可以了&#xff0c;新建一个2.txt文件&#xff0c;输入如下内容&#xff0c;然后将文件改为2.bat echo off REM 纽约约会接口性能测试…

Apache Flink,流计算?不仅仅是流计算!

阿里妹导读&#xff1a;2018年12月下旬&#xff0c;由阿里巴巴集团主办的Flink Forward China在北京国家会议中心举行。Flink Forward是由Apache软件基金会授权的全球范围内的Flink技术大会&#xff0c;2015年开始在德国柏林举办&#xff0c;今年第一次进入中国。 今天&#x…

阿里云数字政府市场份额第一,同比增速102.57%

12月3日&#xff0c;阿里云峰会广东期间&#xff0c;阿里巴巴副总裁、阿里云智能数字政府事业部总裁许诗军表示&#xff0c;目前阿里云已成为中国数字政府大数据整体市场第一&#xff0c;也是数字政府大数据基础平台软件市场第一。 近日&#xff0c;IDC发布了《中国数字政府大数…

oracle调整显示长宽,Oracle设置SQLPlus结果显示的宽度,ORACLE sqlplus提示符设置

一、SQLPlus查询的结果&#xff0c;可以根据自己的屏幕情况进行调节:我们知道sqlplus模式下&#xff0c;select查询的时候经常会遇到返回的记录折行&#xff0c;这时候我们往往会设置行宽&#xff0c;列宽和页面记录。设置行宽&#xff1a;set linesize 200 表示行宽被设置为20…

Jmeter 监控多台服务器CPU、内存、i/o等资源

文章目录1. 插件下载2. 移动插件3. 重启jmeter验证4. 选择监控参数5. 安插卧底6. 启动7. 连接远程1. 插件下载 链接JMeterPlugins-Standard-1.4.0.zip 提取码5utu 链接ServerAgent-2.2.1.rar提取码9ivy 2. 移动插件 解压JMeterPlugins-Standard-1.4.0.zip&#xff0c;将其中…

云栖专辑 | 阿里开发者们的第11个感悟:拥抱变化,用正确的方法对待工作

2015年12月20日&#xff0c;云栖社区上线。2018年12月20日&#xff0c;云栖社区3岁。 阿里巴巴常说“晴天修屋顶”。 在我们看来&#xff0c;寒冬中&#xff0c;最值得投资的是学习&#xff0c;是增厚的知识储备。 所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的…

一份关于kaggle特征构建技巧和心得

在很长的一段时间里&#xff0c;我们表现出缺乏创造力&#xff0c;所做出的工作被认为是山寨、借鉴&#xff0c;这一点是不可否认&#xff0c;但随着自身的积累&#xff0c;厚积薄发&#xff0c;完成了从借鉴到创造的突破。创造力是我们工作的基本要素之一&#xff0c;这点在各…

Jmeter 生成HTML性能测试报告

文章目录一、生成HTML测试报告的两种方式1.1. 利用已有.jtl文件生成报告1.2. 无.jtl文件生成测试报告二、图表信息详解2.1. Dashboard&#xff08;概览仪表盘&#xff09;2.2. Charts&#xff08;详细信息图表&#xff09;2.3. Over Time2.4. Throughput2.5. Response Times一、…

分区裁剪 oracle,[讨论]分区表并行和剪裁的困惑

d_fct是分区表&#xff0c;设了并行&#xff0c;字段time_day 按天分区。下列语句执行计划上看&#xff0c;确实走了并行&#xff0c;INDEX FAST FULL SCAN&#xff0c;这个是全扫了整个表呢&#xff1f;还是一个分区呢&#xff1f; Pstart和Pstop都是2711&#xff0c;是说第27…

阿里云再发两款混合云一体机 ,企业全面上云就像上车一样简单

12月3日&#xff0c;广州云峰会上&#xff0c;阿里云宣布推出面向混合云场景的CPFS一体机和视觉AI一体机&#xff0c;两款新品具备超高性能、开箱即用等特性&#xff0c;极大降低企业上云的周期和门槛。加上此前推出的POLARDB数据库一体机和蚂蚁mPaaS一体机&#xff0c;阿里云已…

专访阿里云MVP王俊杰:开发者的超能力是用技术让世界更美好

【王俊杰&#xff1a;阿里云MVP&#xff0c;陕西创博网络科技有限公司总经理。大数据与物联网的爱好者与实践者。 8年以上互联网从业经验&#xff0c;曾从事军工相关仿真分析软件研发与集成、4年以上大数据系统开发经验。目前正与天水市秦州区政府配合建设智慧安监、智慧环保、…

阿里云护航罗振宇2018“时间的朋友”跨年演讲,与千万观众一起跨年

2018年12月31日20:30分&#xff0c;以“时间的朋友”为主题的罗振宇2018跨年演讲在深圳正式召开&#xff0c;同时通过深圳卫视、优酷等平台进行全球直播。作为年度总结式演讲开创者&#xff0c;2018年跨年演讲与以往跨年演讲一样&#xff0c;依旧保持着超高的人气&#xff0c;据…

jmeter常用插件介绍

https://www.codercto.com/a/67098.html

oracle us7ascii 中文,US7ASCII字符集中汉字显示问题

前几天遇到一个US7ASCII字符集的数据库&#xff0c;无论在客户端如何设置字符集都无法通过程序正确读出数据库中的中文汉字&#xff0c;辛苦地查了很多资料&#xff0c;都说是ORACLE的一大BUG&#xff0c;如何解决这一问题呢?在不断的试验中发现&#xff0c;采用OLEDB方式设置…