package 牛客网练习题;
import java.util.ArrayList;
public class 输入一个链表_输出该链表中倒数第k个结点 {
public ListNode FindKthToTail(ListNode head, int k) {
ListNode a = null;
ListNode b = null;
// 两个指针都指向头结点
a = head;
b = head;
// 记录k值
int c = k;
// 记录节点的个数
int count = 0;
// a指针先跑,并且记录节点数,当a指针跑了k-1个节点后,b指针开始跑,
// 当a指针跑到最后时,b所指指针就是倒数第k个节点
while (a != null) {
a = a.next;
count++;
if (k < 1) {
b = b.next;
}
k--;
}
// 如果节点个数小于所求的倒数第k个节点,则返回空
if (count < c)
return null;
return b;
}
}
相关推荐
CCF201803-2 碰撞的小球 python
一些话:已经不知道是第几次做这道题了(大概第三次吧),真的常做常新,每次都有新的细节想法。虽然方法简单粗暴,但好在方便理解,对于我这种菜鸟选手而言。 但在做的过程中,最开始还忽略了输入的小球初始位置有可能是无序的,输出的时候要保持相对位置。CCF真的考验细节,希望上考场时能够认真仔细一点。就酱… #碰撞的小球 #当小球坐标为0或L时,会朝相反方向移动 #当两个小球坐标相等时,会分别转向相反的方向 #计算t秒之后小球的位置 n,L,t = map(int,input().split()) location .
输入一个链表,输出该链表中倒数第k个结点
分析:使用两个指针,后一个指针先走k步,然后两个指针一起走,直到后一个指针走到最后一个元素。 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* FindKt...
UCIe相关开源项目记录
目前找到的和UCIe协议有关的5个开源项目,如果也有正在做的朋友,欢迎私信交流
java 输入一个链表,输出该链表中倒数第k个结点。
输入一个链表,输出该链表中倒数第k个结点。 解题思路: 1、当输入的链表为空的时候直接返回空 2、当输入的k值大于链表的节点数的时候直接返回null; 3、先遍历链表得出链表的节点数,(注意;因为后面需要重新遍历链表查到倒数第k个节点,需要重新定义一个节点来保留head节点) 4、用节点数减去k就是链表的第几个节点,重新遍历链表找到节点返回 public class Solution
从零开始:DJI-F450无人机硬件组装全流程解析
本文详细解析了DJI-F450无人机的硬件组装全流程,从开箱清点到焊接、机械组装、飞控系统搭建、电路整合及调试试飞。重点介绍了电调焊接、机臂安装、飞控校准等关键步骤的实用技巧和常见问题解决方案,帮助无人机爱好者从零开始完成专业级组装。
一文解读DeepSeek训练数据集
本文重点以DeepSeek为例,详细介绍预训练数据集相关内容。大语言模型LLM(如DeepSeek、ChatGPT、文心一言等)的“智慧”源于它们学习的海量数据集。简单来说,数据集就是模型的“知识库”,通常由互联网公开的文本、图片、视频等。这些数据需满足两个特点:规模大和多样性。规模大是指数据量可达千亿级词汇,让模型学习复杂规律;多样性则涵盖多领域(如科技、文学)、多语言、多形式(对话、新闻),帮助模型适应不同场景。例如,训练数据中既有百科知识,也有日常对话,模型才能既解答专业问题,又能闲聊。
java-输入一个单向链表,输出该链表中倒数第k个结点
输入一个单向链表,输出该链表中倒数第k个结点。 思路一:首先我们可以想到的是遍历完整个链表然后从尾部回溯k个节点就能找到,但是单向链表不能从尾部向前遍历。这时,我们就可以想到先遍历一遍计算出总共的结点个数count,然后再从头部开始遍历到count-k,就能取到倒数第k个结点了。这个方法之间复杂度虽然为O(n),但是遍历了两次链表,对于结点个数不多的链表来说适用,但是数据量太大的话就比较影响效率...
Tessent Atpg系列 第七章 Running ATPG Patterns -- 如何书写proc文件
本篇文章是记录Tessent scan ATPG系列 本文并非是对userguide的完全翻译,而是自己对userguide的理解,此外,有部分比较深入的内容可能需要后续实验验证。本系列并不对tessent scan做过多描述。 请勿随意转载: 优快云 博主: ciscomonkey一种是在使用tessent scan之后使用ATPG 另一种是使用第三方工具,如snps的DFTC之后使用tessent的ATPG。 这里我们仅仅介绍without tessent scan之后tessent ATPG:对于t
java:输入一个链表,输出该链表中倒数第k个结点
public class ListNode { int val; ListNode next; public ListNode(int val) { this.val = val; } } public class Solution { //计算链表的长度 public int size(ListNode head){ int size = 0; //遍历链表,获取长度 for (Lis...
华为OD机试真题 Java&Go 实现【优雅子数组】【100%通过率】【2022.11 Q4 新题】
如果一个数组中出现次数最多的元素出现大于等于K次,被称为K -优雅数组,k也可以被称为优雅阈值。例如,数组1,2,3,1、2,3,1,它是一个3-优雅数组,因为元素1出现次数大于等于3次,数组1,2,3,1,2就不是一个3-优雅数组,因为其中出现次数最多的元素是1和2,只出现了2次。给定一个数组A和k,请求出A有多少子数组是k-优雅子数组。
利用 Python 爬虫进行舆情监测的实战方法
舆情监测是指对互联网上的公众舆论进行监测和分析的过程。它可以帮助企业和组织了解公众对其品牌、产品或服务的看法,以及市场竞争情况。通过舆情监测,企业可以及时发现潜在的问题和机会,从而做出相应的决策。通过本实战案例,我们了解了如何利用 Python 爬虫进行舆情监测的整个流程。从数据采集到数据分析,再到可视化展示,每一步都提供了详细的代码示例和注释。希望这些方法和技巧能够帮助你在实际工作中更好地进行舆情监测,从而为企业的决策提供有力的支持。wordcloud。
今天开始学Java 输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针。
题目描述输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};详细描述:接口说明原型:ListNode* FindKthToTail(ListNode* pListHead, unsignedint k);输入参数: ...
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
牛客网刷题java之输入一个链表,输出该链表中倒数第k个结点。
题目: 牛客网刷题java之输入一个链表,输出该链表中倒数第k个结点。 代码与分析: /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ /* 思路: 首先判断直接不可以的情况,head为空不可...
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
Java:输入一个链表,输出该链表中倒数第k个结点
定义两个引用fast和slow,先让fast走k-1步, 然后和slow一起每次走一步直到fast到达末尾结点, 此时slow位于倒数第k个结点。 public Node FindKthToTail(Node head,int k) { if(head == null) { return null; } Node cu...
jdk-8u144-linux-x64.tar.gz.
该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包
Java-输入一个链表,输出该链表中倒数第k个结点
题目描述 输入一个链表,输出该链表中倒数第k个结点。 示例1 输入 1,{1,2,3,4,5} 返回值 {5} 方法1: /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode FindKthToTail.
刷题java剑指,输入一个链表,输出该链表中倒数第k个结点
刷题java剑指,输入一个链表,输出该链表中倒数第k个结点代码1类似题目:链表中的节点总数为奇数,则返回中间节点,节点总数偶数返回中间节点的任意一个。代码2 题目:输入一个链表,输出该链表中倒数第k个节点。 方法:1)遍历两次。第一次遍历出链表长度n,第二次遍历正向输出链表第n-k+1个节点就是所求节点。 2)遍历一次。设置两个指针,一个指针先走到k-1节点,第二个指针开始一起遍历。当第一个指针到...
java实现输入一个链表,输出该链表中倒数第k个结点。
package com.pomay.offer; /** * 输入一个链表,输出该链表中倒数第k个结点。 * * @author pomay * */ class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } publ
java输入一个链表,输出该链表中倒数第k个结点。
public class TestList{ public ListNode FindKthToTail(ListNode head,int k) { if(head==null){ return null; } int s=GetSize(head); if(k<0||k>s){ ...
Java-链表题:输入一个链表,输出该链表中倒数第K 个结点
private class Node { private int data; private Node next; public int getData() { return data; } public void setData(int data) { this.d...
数据结构--java语言实现输入一个链表,输出该链表中倒数第k个结点
目录 1 题目描述 2 解题思路 3 代码实现 1 题目描述 输入一个链表,输出该链表的倒数第k个结点 2 解题思路 按照常规的解题思路,我们可能会想到:将单链表遍历一遍,求出单链表的长度n,再从头开始遍历单链表n-k次,即得到了倒数第k个结点。但是这种方式无疑增加了很多功课,若单链表个数较多,要求输出前几个结点值,使得计算量增大了很多~我们设想:如何只遍历一遍单链表,就能找出倒数第...
剑指offer——14、输入一个链表,输出该链表中倒数第k个结点。(java)
题目 输入一个链表,输出该链表中倒数第k个结点。 解法 一共可以有三个解法思路。 (1)循环一遍链表得到链表长度length,之后再次循环定位倒数第k个元素。 (2)从第一个节点开始遍历,每次都只遍历k个元素,如果第k个元素的next是null,则得到了倒数第k个。 (3)第三种就是下面这种,前后两个指针,两个指针之间的长度为k,当前指针到链表尾部的时候,后指针指向的就是倒数第k个。(最优) pu...
输入一个链表,输出该链表中倒数第k个结点(Java实现)
public class LinkedList { class ListNode { int val; ListNode next = null; ListNode(int x) { val = x; } } public ListNode FindKthToTail(ListNode...
输入一个链表,输出该链表中倒数第k个结点--java实现
输入一个链表,输出该链表中倒数第k个结点 /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode FindKthToT...
【数据结构练·JAVA】输入一个链表,输出该链表中倒数第k个结点。
public int findKthToTail(int k) { //定义fast、slow两个指向头结点 Node fast = this.head; Node slow = this.head; //判断节点k的合法性 if (fast == null || k <= 0 || k > getLen...
[java 面试100道]13.输入一个单向链表,输出该链表中倒数第k个结点。
题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。 链表结点定义如下: class ListNode{ int key; ListNode next; public ListNode(int key){ this.key=key; } } public class LastK { public ListNode getLastK(Lis
351



被折叠的 条评论
为什么被折叠?



