一、思路:有两个指针分别向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;
}
转载请注明原文地址: https://ju.6miu.com/read-1299912.html