** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */
(s *TreeNode, t *TreeNode)
| 13 | * } |
| 14 | */ |
| 15 | func isSubtree(s *TreeNode, t *TreeNode) bool { |
| 16 | if s == nil { |
| 17 | return false |
| 18 | } |
| 19 | |
| 20 | return equalTrees(s, t) || |
| 21 | isSubtree(s.Left, t) || |
| 22 | isSubtree(s.Right, t) |
| 23 | } |
| 24 | |
| 25 | func equalTrees(t1, t2 *TreeNode) bool { |
| 26 | if (t1 == nil && t2 != nil) || (t1 != nil && t2 == nil) { |