feat: monday
This commit is contained in:
27
pkg/remove_nth_node_from_end_of_list/main.go
Normal file
27
pkg/remove_nth_node_from_end_of_list/main.go
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
package removenthnodefromendoflist
|
||||||
|
|
||||||
|
type ListNode struct {
|
||||||
|
Val int
|
||||||
|
Next *ListNode
|
||||||
|
}
|
||||||
|
|
||||||
|
func RemoveNthFromEnd(head *ListNode, n int) *ListNode {
|
||||||
|
nodes := []*ListNode{}
|
||||||
|
|
||||||
|
for head != nil {
|
||||||
|
nodes = append(nodes, head)
|
||||||
|
head = head.Next
|
||||||
|
}
|
||||||
|
|
||||||
|
if n == len(nodes) {
|
||||||
|
return nodes[0].Next
|
||||||
|
}
|
||||||
|
|
||||||
|
if n == 1 {
|
||||||
|
nodes[len(nodes)-2].Next = nil
|
||||||
|
return nodes[0]
|
||||||
|
}
|
||||||
|
|
||||||
|
nodes[len(nodes)-(n+1)].Next = nodes[len(nodes)-(n-1)]
|
||||||
|
return nodes[0]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user