101. 对称二叉树
Posted Debroon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了101. 对称二叉树相关的知识,希望对你有一定的参考价值。
101. 对称二叉树
题目
传送门:https://leetcode.cn/problems/symmetric-tree/
算法设计:深度优先搜索
二叉树原问题 = 根节点 + 左右子树的子问题
俩棵子树是否对称 = 当前节点相同 + 左右子树相同
class Solution
public:
bool isSymmetric(TreeNode* root)
if (root == NULL) return true;
return dfs(root->left, root->right); // 检查两棵子树是否对称
bool dfs(TreeNode* left, TreeNode* right)
if (left == NULL || right == NULL) return left == right; // 俩个节点都为空,则true;只有一个空,则false
if (left->val != right->val) return false; // 左右节点值不同,则false
return dfs(left->right, right->left) && dfs(left->left, right->right); // 左右子树也需要镜像对称
;
以上是关于101. 对称二叉树的主要内容,如果未能解决你的问题,请参考以下文章
⭐算法入门⭐《二叉树》简单03 —— LeetCode 101. 对称二叉树