1. 题目原题链接输入两棵二叉树A和B判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构 即 A中有出现和B相同的结构和节点值。例如:给定的树 A:3/ \4 5/ \1 2给定的树 B4/1返回 true因为 B 与 A 的一个子树拥有相同的结构和节点值。示例 1输入A [1,2,3], B [3,1]输出false示例 2输入A [3,4,5,1,2], B [4,1]输出true2. 题解2.1 解法1: 递归遍历每个节点, 以该节点为根, 比较是否相同, 若有相同, 即为子结构classSolution{publicbooleanisSubStructure(TreeNodeA,TreeNodeB){if(Anull||Bnull){returnfalse;}returnrootIsSub(A,B)||isSubStructure(A.left,B)||isSubStructure(A.right,B);}/** * 以 A , B 为根节点的树, 树A是否包含树B * * param A * param B * return */publicbooleanrootIsSub(TreeNodeA,TreeNodeB){if(Bnull){returntrue;}if(Anull||A.val!B.val){returnfalse;}returnrootIsSub(A.left,B.left)rootIsSub(A.right,B.right);}}参考:LCR 143. 子结构判断先序遍历清晰图解递归方式解决