Skip to content

Commit 207daaa

Browse files
author
Shuo
committed
Add: Remove Nth Node From End of List
1 parent 95129aa commit 207daaa

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

problems/remove-nth-node-from-end-of-list/remove_nth_node_from_end_of_list.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ type ListNode = kit.ListNode
1313
* }
1414
*/
1515
func removeNthFromEnd(head *ListNode, n int) *ListNode {
16-
q := []*ListNode{head}
17-
for head.Next != nil {
18-
q = append(q, head.Next)
16+
ans := &ListNode{Next: head}
17+
pos := ans
18+
for head != nil {
1919
head = head.Next
20+
if n > 0 {
21+
n--
22+
} else {
23+
pos = pos.Next
24+
}
2025
}
21-
i := len(q) - n
22-
if i > 0 {
23-
q[i-1].Next = q[i].Next
24-
} else {
25-
q[0] = q[i].Next
26-
}
27-
return q[0]
26+
pos.Next = pos.Next.Next
27+
return ans.Next
2828
}

0 commit comments

Comments
 (0)