Java se refiere a la Oferta 22. El k-ésimo nodo desde abajo en la lista enlazada

Ingrese una lista vinculada y genere el k-ésimo nodo desde la parte inferior de la lista vinculada. Para ajustarse a los hábitos de la mayoría de las personas, esta pregunta comienza a contar desde 1, es decir, el nodo final de la lista enlazada es el penúltimo nodo.

Por ejemplo, una lista enlazada tiene 6 nodos, comenzando desde el nodo principal, sus valores son 1, 2, 3, 4, 5, 6 en orden. El penúltimo nodo de esta lista enlazada es el nodo con el valor 4.

el código se muestra a continuación:

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode getKthFromEnd(ListNode head, int k) {
        ListNode node1=head;
        ListNode node2=head;
        for (int i = 0; i < k; i++) {
            node1=node1.next;
        }
        while (node1!=null){
            node1=node1.next;
            node2=node2.next;
        }
        return node2;
    }
}

 Logrando el resultado:

 

Supongo que te gusta

Origin blog.csdn.net/m0_62218217/article/details/121736417
Recomendado
Clasificación