package main
type ListNode struct{
Val int
Next *ListNode
}funcgetKthFromEnd(head *ListNode, k int)*ListNode {if head ==nil{return head
}
former := head
latter := head
for i :=0; i < k; i++{
former = former.Next
}for; former !=nil;{
latter = latter.Next
former = former.Next
}return latter
}
Python
classListNode:def__init__(self, x):
self.val = x
self.next=NoneclassSolution:defgetKthFromEnd(self, head: ListNode, k:int)-> ListNode:ifnot head:return head
former, latter = head, head
for i inrange(k):
former = former.nextwhile former:
latter, former = latter.next, former.nextreturn latter
C#
publicclassListNode{publicint val;publicListNode next;publicListNode(int x){ val = x;}}publicclassSolution{publicListNodeGetKthFromEnd(ListNode head,int k){if(head ==null)returnnull;var former = head;var latter = head;for(int i =0; i < k; i++){
former = former.next;}while(former !=null){
latter = latter.next;
former = former.next;}return latter;}}