在单链表中寻找倒数第k个结点

mac2026-10-04  1

算法思想: 定义快慢指针,先让快的走k-1步,然后快慢一起走,等快的走完,慢的就走到了倒数第k个节点。

java代码

public ListNode findKthToTail(int k){ if(k<0){ return null; } ListNode fast=this.head; ListNode slow=this.head; while(k-1>0){ if(fast.next!=null){ fast=fast.next; k--; }else{ System.out.println("没有这个节点"); } } while(fast.next!=null) { fast = fast.next; slow = slow.next; } return slow; }
最新回复(0)