当前位置: 首页 > Web前端 > JavaScript

leetcode剑指征文22.链表的最后第k个节点

时间:2023-03-27 12:43:04 JavaScript

问题输入一个链表,输出链表的最后第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点为倒数第二个节点。比如一个链表有6个节点,从头节点开始,它们的值依次为1、2、3、4、5、6。这个链表的倒数第三个节点是值为4的节点。示例:给定一个链表:1->2->3->4->5,并且k=2。返回链表4->5。来源:LeetCode链接:https://leetcode-cn。com/probl...版权归领口网络所有。商业转载请联系官方授权,非商业转载请注明出处。解决方案1.先存后取,先遍历链表,依次保存数组中的所有节点,结果直接输出数组对应位置节点,代码如下:vargetKthFromEnd=function(head,k){让arr=[];while(head){arr.push(head);head=head.next;}返回arr[arr.length-k];};另一个链表开始走,但是当第一个链表走到尽头时,第二个链表刚好走到倒数第k个。vargetKthFromEnd=function(head,k){letres=head;while(k--){head=head.next;}while(head){head=head.next;res=res.next;}返回资源;};