找出单链表的倒数第k个元素

来源:互联网 发布:廖雪峰python教程在哪? 编辑:程序博客网 时间:2024/05/29 12:10

一、思路:有两个指针分别向LinkList,它们分别是 low,height;先是height先向前移动k个位置,然后low和height一起向前移动,一直到height到达链表的末尾,这是low所指的位置就是倒是第k个元素,考虑到的边界值有k<1或者k>LinkList的长度的时候或者LinkList为空的时候。

二、代码:

public LinkList kNum(LinkList list,int k){    if(list==null||k<1)        return null;    int num=0;    LinkList low=list;    LinkList height=list;    while(height!=null)    {        if(num!=k)        {            height=height.next;            num++;        }        low=low.next;        height=height.next;    }    if(num<k)        return null;    else        return low;}

0 0