欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 蓝桥与力扣刷题(101 对称二叉树)

蓝桥与力扣刷题(101 对称二叉树)

2025/2/12 5:26:48 来源:https://blog.csdn.net/weixin_74769543/article/details/145582252  浏览:    关键词:蓝桥与力扣刷题(101 对称二叉树)

题目:

给你一个二叉树的根节点 root , 检查它是否轴对称。

示例 1:

输入:root = [1,2,2,3,4,4,3]
输出:true

示例 2:

输入:root = [1,2,2,null,3,null,3]
输出:false

解题思路+代码:

代码:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public boolean isSymmetric(TreeNode root) {/**思路:深度优先搜索1.判断根节点是否为空,为空直接返回true2.创建dfs方法,遍历左右子树,判断根左右和根右左是否相同,相同返回true,否则返回false*///判断根节点是否为空,为空直接返回trueif(root == null){return true;}//传参调用return dfs(root.left,root.right);}//创建dfspublic boolean dfs(TreeNode left,TreeNode right){//左子树和右子树都为nullif(left == null && right == null){return true;}//左子树和右子树其中一个为nullif(left == null || right == null){return false;}//左子树和右子树的值不相等if(left.val != right.val){return false;}// 递归比较左子树的左节点和右子树的右节点,以及左子树的右节点和右子树的左节点return dfs(left.left, right.right) && dfs(left.right, right.left);} }

总结:解答这道题最难是判断二叉树是否对称的几种情况(需要清晰分析):1.左右子树都为空(对称)2.左右子树其中一个为空(不对称)3.左右子树的叶节点值不相等(不对称)4.左右子树不为空且叶节点值相等(对称)5.根节点为空(对称)。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com