剑指 Offer 22. 链表中倒数第k个节点

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了剑指 Offer 22. 链表中倒数第k个节点脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

方法一 双指针

 1 /**
 2  * DefinITion for singly-linked list.
 3  * function ListNode(val) {
 4  *     this.val = val;
 5  *     this.next = null;
 6  * }
 7  */
 8 /**
 9  * @param {ListNode} head
10  * @param {number} k
11  * @return {ListNode}
12  */
13 VAR getKthFromEnd = function(head, k) {
14     //双指针,第一个指针先走k步
15     let slow = head, fast = head;
16     while(k && fast) {
17         k--;
18         fast = fast.next;
19     }
20     while(fast) {
21         slow = slow.next;
22         fast = fast.next;
23     }
24     return slow;
25 };

 

方法二 数组

 1 /**
 2  * Definition for singly-linked list.
 3  * function ListNode(val) {
 4  *     this.val = val;
 5  *     this.next = null;
 6  * }
 7  */
 8 /**
 9  * @param {ListNode} head
10  * @param {number} k
11  * @return {ListNode}
12  */
13 var getKthFromEnd = function(head, k) {
14     let res = [];
15     while(head) {
16         res.push(head);
17         head = head.next;
18     }
19     return res[res.length - k];
20 };

 

脚本宝典总结

以上是脚本宝典为你收集整理的剑指 Offer 22. 链表中倒数第k个节点全部内容,希望文章能够帮你解决剑指 Offer 22. 链表中倒数第k个节点所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。