zoukankan      html  css  js  c++  java
  • [Java]剑指offer:链表中倒数第k个结点

    题目描述

    输入一个链表,输出该链表中倒数第k个结点。
    如果该链表长度小于k,请返回空。
    示例1

    输入

    {1,2,3,4,5},1 

    返回值

    {5}

    思路

    使用两个指针,快指针和慢指针。快指针先走k步。然后快慢指针一起走。当快指针到达尾部的时候,此时慢指针所指的结点则为倒数第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      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
    16      *
    17      * 
    18      * @param pHead ListNode类 
    19      * @param k int整型 
    20      * @return ListNode类
    21      */
    22     public ListNode FindKthToTail (ListNode pHead, int k) {
    23         // write code here
    24         if(pHead==null||k<=0){
    25             return null;
    26         }
    27         ListNode fast = pHead;
    28         while(k>1&&fast!=null){
    29             fast = fast.next;
    30             k--;
    31         }
    32         if(fast==null){
    33             return null;
    34         }
    35         ListNode low = pHead;
    36         while(fast.next!=null){
    37             fast = fast.next;
    38             low = low.next;
    39         }
    40         return low;
    41     }
    42 }
  • 相关阅读:
    win32-LPCSTR->String
    win32-UpdateLayeredWindow
    win32-CreateDIBSection的使用
    win32-StretchDIBits
    hdu1978 简单记忆化搜索
    hdu1978 简单记忆化搜索
    hdu4530 水题
    hdu4530 水题
    hdu3006 状态压缩+位运算+hash(小想法题)
    hdu3006 状态压缩+位运算+hash(小想法题)
  • 原文地址:https://www.cnblogs.com/blzm742624643/p/14703543.html
Copyright © 2011-2022 走看看