链表中删除第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]; }