7-3 树的同构

7-3 树的同构
https://pintia.cn/problem-sets/15/problems/711

半天没想起来这道题的输入怎么构建一棵树……盯着题看了好久才想起来:首先是用结构体数组存储各节点,一个节点包括data和左、右孩子;其次新建一个数组,标记所有是左/右孩子的节点,最后剩下的唯一个没有被标记过的节点就是树根。

构建好树之后就比较简单了,可以利用二叉树本身的性质,使用递归判断是否是同构。一棵树和另一棵树同构,在树根一样的情况下,当且仅当树根A的左右孩子分别和树根B的左右孩子同构。类似的,可以一直递归到判断两个叶子节点是否相互同构。