剑指offerDay16----对称的二叉树
题目:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
思路;
如果二叉树是对称的,那么该二叉树反方向遍历的结果是相等的。
【剑指offerDay16----对称的二叉树】源码:GitHub源码
/*
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}}
*/
public class Solution {
boolean isSymmetrical(TreeNode pRoot)
{
return Same(pRoot,pRoot);
}
boolean Same(TreeNode t1,TreeNode t2){
if(t1==null&&t2==null) return true;
if(t1==null||t2==null) return false;
if(t1.val==t2.val) return Same(t1.left,t2.right) && Same(t1.right,t2.left);
//左子树和右子树比较,右子树和左子树比较
else return false;
}
}
推荐阅读
- 对称加密和非对称加密的区别
- 剑指|剑指 Offer 13. 机器人的运动范围(dfs,bfs)
- 剑指offer60.n个骰子的点数
- 剑指offer——最小的K个数
- 剑指黄昏
- 不对称
- 剑指offer15.二进制中1的个数
- Leetcode|Leetcode 题解系列 -- 对称二叉树(递归)
- 【golang】leetcode初级-验证二叉搜索树&对称二叉树
- [Golang]力扣Leetcode—初级算法—树—对称二叉树