Given the head of a singly linked list, reverse the list and return the new head.
Implement a Python function that takes the head node of a linked list and returns the head of the reversed list. The list nodes have two fields: val and next.
head, the head node of a singly linked list, or None for an empty list.def reverse_linked_list(head):