zoukankan      html  css  js  c++  java
  • 链表中倒数第k个结点

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

    思路:

    代码思路如下:两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指正走(k-1)步,到达第k个节点。然后两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了。

     1 /*
     2 public class ListNode {
     3     int val;
     4     ListNode next = null;
     5 
     6     ListNode(int val) {
     7         this.val = val;
     8     }
     9 }*/
    10 public class Solution {
    11     public ListNode FindKthToTail(ListNode head,int k) {
    12         if(head==null||k<=0){
    13             return null;
    14         }
    15         ListNode pre=head;
    16         ListNode last=head;       
    17         for(int i=1;i<k;i++){
    18             if(pre.next!=null){
    19                 pre=pre.next;
    20             }else{
    21                 return null;
    22             }
    23         }
    24         while(pre.next!=null){
    25             pre = pre.next;
    26             last=last.next;
    27         }
    28         return last;
    29     }
    30 }
  • 相关阅读:
    大话设计模式笔记 观察者模式
    nginx限速
    枚举实现的单例模式
    Nginx负载均衡
    插件lombok的介绍安装
    ThreadLocal类
    CopyOnWriteArrayList并发容器
    ConcurrentHashMap实现原理
    elasticsearch配置文件
    sql优化
  • 原文地址:https://www.cnblogs.com/LoganChen/p/6395386.html
Copyright © 2011-2022 走看看