[Challenge 09 - 🔗 Singly Linked Lists](https://tutorialedge.net/challenges/go/linked-list/)

👋 Welcome Gophers! In this challenge, you will be implementing some of the basic functionality of a singly linked-list in Go! 💪

In this challenge, we will be attempted to implement the Add function of a singly linked list.

# Linked Lists
Linked lists are a data structure we can utilize in order to represent a sequence of elements or nodes as they are called. Singly linked lists are a one way sequence where each node contains a pointer to the next node in the list.

![Singly Linked List](https://images.tutorialedge.net/challenges/singly-linked-list-03.svg)

Doubly linked lists on the other hand have 2 pointers to both the previous node and the next node and can be traversed back and forth.

# Challenge Requirements
In this challenge, you will be implementing a very simple, singly linked list that allows you to append new string values to the end of our linked list and ensure that you update the Tail and Head values appropriately.

## Question
**What is the time complexity of the most optimal solution for the Append method?**

```bash
A
O(k^2)
```

```bash
B
O(k)
```

```bash
C
O(1)
```
> Correct Answer: **B O(k)**

# See the Solution
Feel free to have a look at the forum discussion thread for this challenge and contribute with your own solutions here 
- [Challenge 09 - Singly Linked Lists](https://discuss.tutorialedge.net/t/challenge-09-singly-linked-list/28/2)


# Further Reading:
If you enjoyed this challenge, then feel free to try some of the other challenges on the site:
- [Challenge 05 - Implementing a Stack](https://tutorialedge.net/challenges/go/implementing-a-stack/)
- [Challenge 06 - Implementing a Queue](https://tutorialedge.net/challenges/go/implementing-a-queue/)
