示例1
输入:{8,6,6,5,7,7,5}
返回值:true
示例2
输入:{8,6,9,5,7,7,5}
返回值:false
要求:
时间:1 s
空间:64 M
基本思想
首先要明确,题目所定义的...局部检查(层序遍历)
我们使用 0x3f3f3f3f 作为无效值,并建立占位节点 emptyNode 用来代指空节点(emptyNode.val = 0x3f3f3f3f)。...右儿子,则用 emptyNode 代替入队;
当是 emptyNode 节点时,则忽略;
在进行流程
的同时使用「临时列表」记录当前层的信息,并检查当前层是否符合 “对称” 要求;
循环流程...当且仅当两棵子树符合如下要求时,满足 “对称” 要求:
两棵子树根节点值相同;
两颗子树的左右子树分别对称,包括:
a 树的左子树与 b 树的右子树相应位置的值相等
a 树的右子树与 b 树的左子树相应位置的值相等...a 和 b 均为空节点:符合 “对称” 要求;
a 和 b 其中一个节点为空,不符合 “对称” 要求;
a 和 b 值不相等,不符合 “对称” 要求;
其他情况,我们则要分别检查 a 和 b 的左右节点是否