code: def reverse(node, prev_node):
      if node is None:
          # the end of the ll is reached, return the previous node
          # that'll be the first node in the reversed ll
          return prev_node
  
      # send node.next as current node and node as previous node in the next step
      result = reverse(node.next, node)
      # change the pointer of the current node to point to the previous node
      node.next = prev_node
  
      return result
  
imports: from ll_helpers import ListNode
  from ll_helpers import build_ll, print_ll
label_desc: Use image node_id 3 for calling a global function with example usage: reverse(node, prev_node) and returns: result, prev_node