首页 > 其他分享 >(链表)08-链表中倒数最后K个结点

(链表)08-链表中倒数最后K个结点

时间:2023-11-19 19:37:15浏览次数:26  
标签:结点 ListNode int 08 fast 链表 pHead null

 1 import java.util.*;
 2 
 3 /*
 4  * public class ListNode {
 5  *   int val;
 6  *   ListNode next = null;
 7  *   public ListNode(int val) {
 8  *     this.val = val;
 9  *   }
10  * }
11  */
12 
13 public class Solution {
14     /**
15      * @param pHead ListNode类
16      * @param k int整型
17      * @return ListNode类
18      */
19     public ListNode FindKthToTail (ListNode pHead, int k) {
20         // 快指针
21         ListNode fast = pHead;
22         // 慢指针
23         ListNode slow = pHead;
24         // 寻找快指针的起始位置
25         for (int i = 0; i < k; i ++) {
26             if (fast == null) {
27                 return null;
28             }
29             fast = fast.next;
30         }
31         // 快慢指针同时移动
32         while (fast != null) {
33             fast = fast.next;
34             slow = slow.next;
35         }
36         // 返回结果
37         return slow;
38     }
39 }

 

标签:结点,ListNode,int,08,fast,链表,pHead,null
From: https://www.cnblogs.com/StringBuilder/p/17842433.html

相关文章

  • (链表)09-删除链表的倒数第N个节点
    1importjava.util.*;23/*4*publicclassListNode{5*intval;6*ListNodenext=null;7*}8*/9publicclassSolution{10/**11*@paramheadListNode类12*@paramnint整型13*@returnListNode类14......
  • 08.模版技术
    简介Web程序里,访问一个地址通常会返回一个包含各类信息的HTML页面。其中包含变量和运算逻辑的HTML或其他格式的文本叫做模板,执行这些变量替换和逻辑计算工作的过程被称为渲染。Flask模板渲染是通过Jinja2引擎来完成的。默认情况下,Flask会从模块同级的 templates 目录......
  • 408---CO三轮复习---存储系统
    记录一下之前不被我重视的知识点重难点总结1、存储器的分类 ⭐⭐⭐2、主存储器 ⭐⭐⭐⭐3、外部存储器 ⭐⭐4、高速缓冲存储器 ⭐⭐⭐⭐⭐5、虚拟存储器 ⭐⭐⭐⭐⭐存储器的分类考点存储器的类型、求存储速度、主存带宽按存取方式分随机存储器(RAM).......
  • 求两个链表差集
    一、题目什么是差集对于集合A={a,b,c,d}和集合B={b,c,w},则A与B的差集为二、我的解答(所求的是L1-L2)list*p1=L1->next;//指向L1链表的指针p1List*p2=L2->next;//指向L2链表的指针p2思想:若p1和p2指向空间的数据域的值相等,则两指针向后移动,如果不等且p1<p2,那么L......
  • 【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)
    [NOIP2008提高组]笨小猴题目描述笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体描述如下:假设是单词中出现次数最多的字母的出现次数,是单词中出现次数最少的字母的出现次数,......
  • 求有序链表交集
    一、题目二、我的解答思想:因为递增有序,所以两个指针依次遍历,这次就不考虑相等的情况了,默认为严格递增。list*intersection(list*L1,list*L2){ if(!L1||!L2)returnNULL; list*p1=L1->next,*p2=L2->next,*p3=L1; while(p1&&p2){ if(p1->value==......
  • 合并有序链表
    一、题目二、代码1.思想:将情况分为三种,大于和小于简单的合并,相等的时候需要额外考虑一些问题哪些问题?1.新表指针如何移动2.两个子表指针如何移动相等的时候,需要考虑新表指针的如何操作,当新表中已经存在,两个子表指针目前所指节点的值,就只需将两个子表中重复的元素略过,......
  • 前端学习笔记202308学习笔记第七十六天-webpack源码分析2
       ......
  • 前端学习笔记202308学习笔记第七十六天-webpack源码分析1
        ......
  • 两两交换链表中的节点
    现在时间是:  2023年11月18日 星期六   农历十月初六  22:08:每天坚持刷Leetcode,遇到有些突然看到就不能想得很清楚的题目,还是需要进行记录一下!Leetcode热题100(学习计划):两两交换链表中的节点,题目信息如下:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节......