问题描述:
给定两个二叉树,编写一个函数来检验它们是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 1:
输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: true
示例 2:
输入: 1 1 / \ 2 2 [1,2], [1,null,2] 输出: false
示例 3:
输入: 1 1 / \ / \ 2 1 1 2 [1,2,1], [1,1,2] 输出: false
tmd,写了40分钟,写出了一个非递归利用队列实现,注意的点主要是刚开始校验两个开始头结点是否为空和之后判断左右节点是否为空,总而言之,就是菜菜菜,菜的不行。
public boolean isSameTree(TreeNode p, TreeNode q) {
Queue<TreeNode> queue1 = new ArrayDeque<>();
Queue<TreeNode>