Problem Description

Given the roots of two binary trees root and subRoot, return true if there is a subtree of root with the same structure and node values of subRoot and false otherwise.

A subtree of a binary tree tree is a tree that consists of a node in tree and all of this node's descendants. The tree tree could also be considered as a subtree of itself.

Examples

Example 1:

https://assets.leetcode.com/uploads/2021/04/28/subtree1-tree.jpg

Input: root = [3,4,5,1,2], subRoot = [4,1,2]
Output: true

Example 2:

https://assets.leetcode.com/uploads/2021/04/28/subtree2-tree.jpg

Input: root = [3,4,5,1,2,null,null,null,null,0], subRoot = [4,1,2]
Output: false

Constraints:

解析

每個兩個樹的根結點root, subRoot

題目要實作一個演算法去察看 subRoot 是不是 root 的 subTree

subRoot 是 root 的 subTree 有以下幾種狀況

  1. subRoot 的 tree 與 root 的 tree 相等