【剑指offer】链表中倒数第k个结点

    xiaoxiao2024-11-01  79

    题目描述: 输入一个链表,输出该链表中倒数第k个结点。

    思路:   1.用两个指针构造一把长度为k的“尺子”,初始时两个指针都指向头结点   2.再将第一个指针指向第k个结点。然后两个指针同时往后移动   3.当第一个指针到达末尾的时候,第二个指针所在位置即为倒数第k个结点 (注意边界)

    实现:

    public class Solution { public ListNode FindKthToTail(ListNode head,int k) { if(head==null||k<=0){ return null; } ListNode pre=head; ListNode last=head; for(int i=1;i<k;i++){ if(pre.next!=null){ //i = k-1时,pre位于k位置 pre=pre.next; } else{ return null; } } while(pre.next!=null){ pre = pre.next; last=last.next; } return last; } }
    最新回复(0)