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

旧城等待, 2022-10-19 00:57 219阅读 0赞

题目描述

输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。

例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。

示例:

给定一个链表: 1->2->3->4->5, 和 k = 2.

返回链表 4->5.

Java实现(水题)

  1. class Solution {
  2. // 1 2 3 4 5 _____ k= 2
  3. public ListNode getKthFromEnd(ListNode head, int k) {
  4. if(head == null || k<0){
  5. return head;
  6. }
  7. ListNode p = head,q = head;
  8. while(k>0)
  9. {
  10. q = q.next;
  11. k--;
  12. }
  13. while(q!=null)
  14. {
  15. q = q.next;
  16. p = p.next;
  17. }
  18. return p;
  19. }
  20. }

发表评论

表情:
评论列表 (有 0 条评论,219人围观)

还没有评论,来说两句吧...

相关阅读