22、链表中倒数第k个节点(getKthFromEnd)
1. python
class Solution:
def getKthFromEnd(self, head: ListNode, k: int) -> ListNode:
former,latter = head,head
for _ in range(k):
former = former.next
while former:
former,latter = former.next,latter.next
return latter
2. Java
class Solution {
public ListNode getKthFromEnd(ListNode head, int k) {
ListNode former=head,latter=head;
for(int i=0;i<k;i++){
former = former.next;
}
while(former!=null){
former=former.next;
latter=latter.next;
}
return latter;
}
}
3. C++
class Solution {
public:
ListNode* getKthFromEnd(ListNode* head, int k) {
ListNode * former=head;
ListNode * latter=head;
for(int i=0;i<k;i++){
former=former->next;
}
while(former!=NULL){
former=former->next;
latter=latter->next;
}
return latter;
}
};
4. JavaScript
var getKthFromEnd = function(head, k) {
var former=head;
var latter=head;
for(var i=0;i<k;i++){
former=former.next;
}
while(former){
former=former.next;
latter=latter.next;
}
return latter
};