22.リンクリストの下からk番目のノード(getKthFromEnd)

22.リンクリストの下からk番目のノード(getKthFromEnd)

1. パイソン

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
};


おすすめ

転載: blog.csdn.net/weixin_44294385/article/details/112200766