The Runtime Theory
easyLeetCode#tree-matching#recursion

Subtree of Another Tree

Determine whether a candidate tree matches some rooted subtree of a larger tree.

The Runtime Theory Team25 min read
Solve it

Solving happens on the judge — come back and mark it done

Sample cases

inroot=[3,4,5,1,2], subRoot=[4,1,2]

outtrue

inroot=[3,4,5,1,2,null,null,null,null,0], subRoot=[4,1,2]

outfalse

inroot=[1], subRoot=[]

outtrue

Determine whether a candidate tree matches some rooted subtree of a larger tree.

A good solution should

  • State the invariant or decision rule that makes the approach correct.
  • Explain the time and space complexity in terms of the input sizes and required output.
  • Handle empty, minimal, duplicate, and boundary-shaped inputs covered by the contract.

Reasoning prompt

At each candidate root, compare complete structure and values. Do not accept matching values while ignoring extra child nodes.

Use the linked judge for the canonical problem. The examples above are compact TRT checks; write additional cases before submitting, especially for the boundary that tends to break your chosen invariant.

More practice in this topic

One dispatch a week

The trace behind each problem, the tradeoff that explains it, and one technical dispatch per week — no noise.

One technical dispatch per week. No noise.

Not started

Sign in to save your learning progress.

Sign in to save