diff --git a/notes/26. 树的子结构.md b/notes/26. 树的子结构.md index 542e5772..e31e6064 100644 --- a/notes/26. 树的子结构.md +++ b/notes/26. 树的子结构.md @@ -10,6 +10,13 @@ ## 解题思路 +分两步: + +- isSubStructure 遍历 A 的每个节点,把它当作可能的起点,A 的根、左子树、右子树中任意一处匹配即可; +- isSubtreeWithRoot 从起点开始,同时向下比较两棵树:B 走到 null 说明 B 的这一支已经全部匹配,返回 true;A 走到 null 或值不同则返回 false。 + +B 为空树时,按题意不是任何树的子结构,直接返回 false。 + ```java public boolean isSubStructure(TreeNode A, TreeNode B) { if (A == null || B == null)