Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Traverse a Tree for a Parameter
00:00
5 left

Traverse a Tree for a Parameter

EasyPython

Problem

Renaissance Learning content structures can organize skills and lessons as a tree. Given the root of a tree and a target parameter, return the path from the root to the first node whose parameter matches the target.

Traverse children from left to right and use preorder depth-first search. If multiple nodes match, return the path to the first match encountered. If no node matches, return an empty list.

Formal Specification

Each node is a dictionary with this structure: {"id": string, "parameter": string, "children": list[node]}. The children list may be empty. The function receives root, which is either a node dictionary or None, and target, a string. Return a list of node IDs from the root through the matching node, or [] when no match exists.

Constraints

  • The tree contains 0 to 100,000 nodes.
  • Node IDs and parameters are non-empty strings.
  • Each node has at most 10 children.
  • The tree is acyclic.
  • Matching is case-sensitive.

Function Signature

def find_parameter_path(root, target):
Interviewer

Your question is Traverse a Tree for a Parameter. Start with the requirements in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePython 3
You need to log in / sign up to run or submit.Ln 2
Run your code to see test output here.