链表中删除第k个结点
链表中倒数第k个结点
http://www.nowcoder.com/questionTerminal/529d3ae5a407492994ad2a246518148a
要求 javascript
输入一个链表,输出该链表中倒数第k个结点。
方法一:先计数,到k个,然后同步后移
function FindKthToTail(head, k)
{
if(k<=0)
return null;
var pos=1;
var res=head;
while(head!=null){
if(pos<k){
pos++;
head=head.next;
continue;
}
if(pos==k){
pos++;
head=head.next;
continue;
}
if(pos>k){
res=res.next;
}
head=head.next;
}
if(pos<=k){
return null;
}
else{
return res;
}
}方法二:用array进行存放获取数据
function FindKthToTail(head, k)
{
let val = [];
while (head) {
// 之前有一道题是返回值,这道题是返回这个链表对象。。。。
val.unshift(head);
head = head.next;
}
return val[k - 1];
}
