zoukankan      html  css  js  c++  java
  • 剑指Offer:链表中倒数第k个结点【22】

    剑指Offer:链表中倒数第k个结点【22】 

    题目描述

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

    解题思考

      我们定义两个指针L和R,R事先移动K-1个位置,然后两者同时往后移动直到遇到R的下个节点为空,此时L节点的位置就是倒数第K个节点。

      

    Java题解

    package linklist;
    
    public class FindKthToFail {
    
        public static ListNode FindKthToTail(ListNode head,int k) {
    
             if(head==null||k==0)
                 return null;
             ListNode ptr = head;
             for(int i=1;i<k;i++) {
                 if(head.next==null)
                     return null;
                 head = head.next;
             }
             while (head.next!=null)
             {
                 ptr=ptr.next;
                 head=head.next;
             }
    
            return ptr;
        }
    
        public static void main(String[] args) {
                ListNode n1 = new ListNode(1);
                ListNode n2 = new ListNode(2);
                ListNode n3 = new ListNode(3);
                ListNode n4 = new ListNode(4);
                ListNode n5 = new ListNode(5);
                n1.next=n2;
                n2.next=n3;
                n3.next=n4;
                n4.next=n5;
            System.out.println(FindKthToTail(n1,2).val);
            }
    }
    

      

  • 相关阅读:
    Android Studio相关
    iOS自动签名网站
    Ruby开发小记
    Python全栈之路目录结构
    不会docker的开发
    Centos7安装python3
    03 centos7的基本价绍
    02 centos虚拟机安装
    01 Linux虚拟机的安装
    跨域问题的解决
  • 原文地址:https://www.cnblogs.com/MrSaver/p/9219273.html
Copyright © 2011-2022 走看看