19. Remove Nth Node From End of List

xiaoxiao2021-02-28  123

Given a linked list, remove the nth node from the end of list and return its head.

For example,

Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the linked list becomes 1->2->3->5.

Note: Given n will always be valid. Try to do this in one pass.

一次遍历删除倒数第n个节点

package leet //Definition for singly-linked list. type ListNode struct { Val int Next *ListNode } func removeNthFromEnd(head *ListNode, n int) *ListNode { p1 := head p2 := head for n > 0 { p1 = p1.Next n-- } if p1 == nil { return head.Next } for p1.Next != nil { p1 = p1.Next p2 = p2.Next } p2.Next = p2.Next.Next return head }
转载请注明原文地址: https://www.6miu.com/read-25090.html

最新回复(0)