剑指offer 链表中倒数第k个节点

来源:互联网 发布:励志情侣走红网络 编辑:程序博客网 时间:2024/05/17 22:12

题目描述

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

解决方案:
public class Solution {    public ListNode FindKthToTail(ListNode head,int k) {         ListNode pre=null,p=null;        //两个指针都指向头结点        p=head;        pre=head;        //记录k值        int a=k;        //记录节点的个数        int count=0;        //p指针先跑,并且记录节点数,当p指针跑了k-1个节点后,pre指针开始跑,        //当p指针跑到最后时,pre所指指针就是倒数第k个节点        while(p!=null){            p=p.next;            count++;            if(k<1){                pre=pre.next;            }            k--;        }        //如果节点个数小于所求的倒数第k个节点,则返回空        if(count<a) return null;        return pre;                }}


原创粉丝点击