目录
🌰相同的树
思路:
📝而判断左右子树是否相同,又能转换为相应的子问题求解——即左右子树的子树是否相同,就这样从上到下的进行递归判断,在递归的过程就完成了对每个结点的判断。
代码如下:
🌰对称二叉树
思路:
这个题目也其实也是判断树的各自对应结点是否相同,不过这里要判断的结点是呈轴对称分布的。即左子树的左子结点和右子树的右子结点要相同&&左子树的右子结点和右子树的左子结点要相同。
代码:
🌰另一棵树的子树
思路:
要判断一个树 subRoot 是不是树Root的子树,那么可以判断 subRoot 是否和树 Root 的任意子树相等。那么就转化成上面的题——判断两个树是否相同
首先我们需要先判断root和subRoot是否相同,然后递归判断root的左子树和subRoot是否相同,接着就是root右子树是否相同,只要有一个相同就说明subRoot是root的一个子树。
那如果都不相同呢?那就判断root子树的子树是否和root相同呀!当递归判断到root的子树都为空时,如果还不相同,就说明subRoot真的不是root的子树。
代码