求单链表倒数第K个节点

mac2025-12-29  7

思路:用两个指针,先让快指针走K-1步,下来快指针和慢指针一起走,直到快指针结束,慢指针所在节点就是单链表倒数第k个节点

public ListNode findKthToTail(int k){ if(k<=0||head==null){ 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("没有这个节点"); return null; } } while(fast.next!=null){ fast=fast.next; slow=slow.next; } return slow; }
最新回复(0)