There are two main ways to delete a list that I know. You can use recursion or you can iterate.
// recursion
void delete(listNode node)
{
if (node.next != nullptr)
delete(node.next);
delete node;
}
// iteration
void delete(listNode node)
{
listNode temp;
while (node != nullptr)
{
temp = node.next;
delete node;
node = temp;
}
}