find the last node in a linked list in go

To find the last node in a linked list in Go, you can traverse the list starting from the head node until you reach the end of the list. Once you reach the end of the list, the last node will be the node whose next pointer is nil.

Here's an example implementation of a getLastNode function that returns a pointer to the last node in a linked list:

main.go
func getLastNode(head *Node) *Node {
    if head == nil || head.next == nil {
        return head
    }
    current := head
    for current.next != nil {
        current = current.next
    }
    return current
}
212 chars
11 lines

In the above code, we first check if the head node is nil or if the head node's next pointer is nil, which means the list has only one node, in which case we simply return the head node itself as the last node. Otherwise, we traverse the list starting from the head node until we reach the node whose next pointer is nil, which is the last node, and then return that node.

related categories

gistlibby LogSnag