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);
            }
    }
    

      

  • 相关阅读:
    BOM
    CSS 定位与浮动
    轮播
    跨域
    Flex-弹性布局
    vue.js开发环境搭建以及创建一个vue实例
    js闭包
    git的一些基本命令
    不定宽块状元素居中方法
    git中常用命令小结
  • 原文地址:https://www.cnblogs.com/MrSaver/p/9219273.html
Copyright © 2011-2022 走看看