| 12345678910111213141516171819202122232425262728293031 | 
							- /**
 
-  * Definition for a binary tree node.
 
-  * type TreeNode struct {
 
-  *     Val int
 
-  *     Left *TreeNode
 
-  *     Right *TreeNode
 
-  * }
 
-  */
 
- func isSubtree(s *TreeNode, t *TreeNode) bool {
 
- 	return postorder(s, t)
 
- }
 
- func postorder(s *TreeNode, t *TreeNode) bool {
 
- 	if s == nil {
 
- 		return s == t
 
- 	}
 
- 	if postorder(s.Left, t) || postorder(s.Right, t) {
 
- 		return true
 
- 	}
 
- 	return isSametree(s, t)
 
- }
 
- func isSametree(s *TreeNode, t *TreeNode) bool {
 
- 	if s == nil || t == nil {
 
- 		return s == t
 
- 	}
 
- 	if s.Val != t.Val {
 
- 		return false
 
- 	}
 
- 	return isSametree(s.Left, t.Left) && isSametree(s.Right, t.Right)
 
- }
 
 
  |