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

复制代码
 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 }
复制代码

 

posted @   StringBuilder  阅读(3)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示