首页 > 其他分享 >对称的二叉树

对称的二叉树

时间:2022-12-14 22:56:36浏览次数:45  
标签:right return val TreeNode 二叉树 对称 left

请实现一个函数,用来判断一棵二叉树是不是对称的。

如果一棵二叉树和它的镜像一样,那么它是对称的。

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool dfs (TreeNode* l, TreeNode* r) {
        if (!l && !r) return true;
        if (!l || !r) return false;
        if (l->val != r->val) return false;
        return dfs (l->left, r->right) && dfs (l->right, r->left);
    }
    
    bool isSymmetric(TreeNode* root) {
        if (!root) return true;
        return dfs (root->left, root->right);
    }
};

  

标签:right,return,val,TreeNode,二叉树,对称,left
From: https://www.cnblogs.com/leetothemoon/p/16983906.html

相关文章

  • 二叉树的镜像
    输入一个二叉树,将它变换为它的镜像。 /***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*r......
  • 剑指Offer-Java-二叉树的镜像
    题目题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树8/\610/\/\57911......
  • 剑指Offer-Java-重建二叉树
    题目输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍......
  • 剑指Offer-Java-序列化二叉树
    题目请实现两个函数,分别用来序列化和反序列化二叉树代码此题的核心点是如何表示二叉树,并且解释。/*publicclassTreeNode{intval=0;TreeNodeleft=null;......
  • 94. 二叉树的中序遍历
    给定一个二叉树的根节点root,返回它的中序遍历。示例1:输入:root=[1,null,2,3]输出:[1,3,2]点击查看代码definorderTraversal(self,root):res......
  • 力扣-114-二叉树展开为链表
    按照先序遍历展开展开后仍然为TreeNode,只是左孩子指针一律置空关键在于这个先序的访问过程与各个节点指针的修改操作如何统一不冲突首先就可以排除先序遍历,瞄一眼评论......
  • 数据结构 线索二叉树
    一、线索二叉树的原理    通过考察各种二叉链表,不管儿叉树的形态如何,空链域的个数总是多过非空链域的个数。准确的说,n各结点的二叉链表共有2n个链域,非空链域为n-1个,......
  • 二叉树的最大深度
    题目地址(104.二叉树的最大深度)​​https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/​​题目描述给定一个二叉树,找出其最大深度。二叉树的深度为根节点......
  • 543. 二叉树的直径
    题目给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。分析思路和算树最大高度的那题......
  • 平衡二叉树(java版)
    题目描述:标签:树深度优先搜索递归给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值......