二叉树OJ题(五)

简介: ✅每日一练:101. 对称二叉树 - 力扣(LeetCode)

faa24f653e9e42969f435bfdc209c7e7.png

解题思路:

1.如果根节点为空,那么对称;

2.如果根节点不为空,根节点的左子树为空,根节点的右子树不为空,或者根节点的左子树不为空,根节点的右子树为空,那么一定不对称;

3.如果根节点的左子树的值和右子树的值不相等,那么一定不对称;

4.如果上面条件都没有满足到,那么我们需要判断左子树的左子树是否和右子树的右子树相等,左子树的右子树是否和右子树的左子树相等,如果相等,则对称;


代码:

publicbooleanisSymmetric(TreeNoderoot) {
if (root==null) {
returntrue;
        }
returnisSymmetricChild(root.left, root.right);
    }
publicbooleanisSymmetricChild(TreeNodeleftTree, TreeNoderightTree) {
if (leftTree==null&&rightTree==null) {
returntrue;
        }
if (leftTree!=null&&rightTree==null||leftTree==null&&rightTree!=null) {
returnfalse;
        }
if (leftTree.val!=rightTree.val) {
returnfalse;
        }
returnisSymmetricChild(leftTree.left, rightTree.right) &&isSymmetricChild(leftTree.right, rightTree.left);
    }

目录
相关文章
|
6月前
二叉树OJ题(1)
二叉树OJ题(1)
36 0
|
6月前
|
Java C++ Python
leetcode-654:最大二叉树
leetcode-654:最大二叉树
53 0
|
5月前
|
存储 机器学习/深度学习 算法
LeetCode 题目 102:二叉树的层序遍历
LeetCode 题目 102:二叉树的层序遍历
|
6月前
|
API
Leetcode-二叉树oj题
Leetcode-二叉树oj题
29 0
Leetcode-二叉树oj题
|
6月前
|
存储
二叉树相关OJ题
二叉树相关OJ题
|
6月前
LeetCode-二叉树OJ题
LeetCode-二叉树OJ题
33 0
|
6月前
二叉树OJ题目(2)
二叉树OJ题目(2)
30 0
|
11月前
LeetCode——OJ题之二叉树【上】
LeetCode——OJ题之二叉树【上】
47 1
|
6月前
|
API C语言
二叉树的OJ练习(一)
二叉树的OJ练习(一)
|
6月前
|
API
二叉树的OJ练习(二)
二叉树的OJ练习(二)