**Problem Statement:**
Given the required input arguments, write an efficient algorithm to solve the **Subtree of Another Tree** problem. Implement the required logic as specified by standard definitions for this classic algorithmic challenge.
**Hint / Expected Approach:**
isSameTree at every node via DFS
**Edge Cases to Consider:**
- (1) s is null
- (2) t equals s exactly
- (3) t has more nodes than s
Examples
Example 1
Input:[3,4,5,1,2], [4,1,2]
Output:true
Explanation: Classic subtree
Example 2
Input:[3,4,5,1,2,null,null,null,null,0], [4,1,2]
Output:false
Explanation: Subtree has extra node
Example 3
Input:[], []
Output:true
Explanation: Both empty
Constraints
▪The number of nodes in the tree is in the range [0, 2000]
▪-1000 <= Node.val <= 1000
▪Ensure depth-first or breadth-first traversals are memory-efficient