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

    输入一个链表,输出该链表中倒数第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(k==0)
    13             return null;
    14         if(head==null)
    15             return null;
    16         else{
    17             ListNode pre = head;
    18             ListNode end = head;
    19             for(int i=k-1;i>0;i--){
    20                 end = end.next;
    21             }
    22             if(end==null)
    23                 return null;
    24             else if(end.next==null)
    25                 return pre;
    26             else{
    27                 while(end.next!=null){
    28                     pre = pre.next;
    29                     end = end.next;
    30                 }
    31                 return pre;
    32             }
    33         }
    34     }
    35 }

    少偷懒。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  • 相关阅读:
    RocketMQ主从搭建
    Spring Cloud Sleuth
    Spring Cloud Eureka
    Nacos配置中心使用
    Nacos注册中心使用
    Nacos快速入门
    Nginx配置SSL
    并发工具类
    关于类的线程安全
    Docker 入门学习笔记(一)
  • 原文地址:https://www.cnblogs.com/haq123/p/12117184.html
Copyright © 2011-2022 走看看