Solve a problem involving valid parentheses and a linked list, and explain your approach step by step.
Implement is_valid_parentheses_list(head), where head is the first node of a singly linked list and each node contains one bracket character: (, ), [, ], {, or }. Return True when the sequence is valid and balanced, otherwise return False. An empty list is valid. Each node has value and next fields.
(, ), [, ], {, or }def is_valid_parentheses_list(head):