//
// Created by Mr.Hu on 2018/11/12.
//
// leetcode 101 symmetric tree
//
// 题目要求判断给定的二叉树是否为对称树,即根节点的左右儿子相等,
// 内部节点的左儿子节点值等于其兄弟节点的右节点值,
// 内部节点的右儿子节点值等于其兄弟节点的左节点值。如果为空节点,也是对称位置为空
//
// solution1:使用先序遍历,深度优先搜索实现,利用两个栈来存储待访问节点的信息,
// 要求第一个栈在存储当前待访问节点的左右子节点时,先存储左节点,再存储右节点;
// 第二个栈在存储当前待访问节点的左右子节点时,先存储右节点,再存储左节点;空节点也存储。
// 这样做的原因就是首先将该树考虑称满二叉树,然后当分别取两个栈的栈顶元素时,来自于对称位置的节点
//
// solution2:使用递归的方法,递归函数的参数为对称的两个节点
//
1 |
|