/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ func helper( pRoot1 *TreeNode , pRoot2 *TreeNode ) bool { if pRoot2 == nil { return true } if pRoot1 == nil { return false } if pRoot1.Val != pRoot2.Val { return false } return helper(pRoot1.Left, pRoot2.Left) && helper(pRoot1.Right, pRoot2.Right) } func isSubStructure( pRoot1 *TreeNode , pRoot2 *TreeNode ) bool { // write code here if pRoot1 == nil || pRoot2 == nil { return false } return helper(pRoot1, pRoot2) || isSubStructure(pRoot1.Left, pRoot2) || isSubStructure(pRoot1.Right, pRoot2) }
原文:https://www.cnblogs.com/dingxiaoqiang/p/14630406.html