java 19.从列表末尾删除第N个节点(#)。java

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 19.从列表末尾删除第N个节点(#)。java相关的知识,希望对你有一定的参考价值。

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public ListNode removeNthFromEnd(ListNode head, int n) {

        ListNode start = new ListNode(0);
        ListNode slow = start, fast = start;
        slow.next = head;

        //Move fast in front so that the gap between slow and fast becomes n
        for(int i = 0; i < n + 1; i++)   {
            fast = fast.next;
        }
        //Move fast to the end, maintaining the gap
        while(fast != null) {
            slow = slow.next;
            fast = fast.next;
        }
        //Skip the desired node
        slow.next = slow.next.next;
        return start.next;
    }
}

以上是关于java 19.从列表末尾删除第N个节点(#)。java的主要内容,如果未能解决你的问题,请参考以下文章

java 19.从列表末尾删除第N个节点(#)。java

java 19.从列表末尾删除第N个节点(#)。java

java 19.从列表末尾删除第N个节点(#)。java

java 19.从列表末尾删除第N个节点(#)。java

c_cpp 19.从列表末尾删除第N个节点

c_cpp 19.从列表末尾删除第N个节点 - 中 - 2018.8.7