首页 > 其他分享 >BM31对称二叉树(判断二叉树是否symmetric?)(递归)

BM31对称二叉树(判断二叉树是否symmetric?)(递归)

时间:2022-09-22 19:44:42浏览次数:48  
标签:BM31 return recur symmetric 二叉树 null root1 root2

描述

给定一棵二叉树,判断其是否是自身的镜像(即:是否对称)
例如:                                 下面这棵二叉树是对称的

下面这棵二叉树不对称。

数据范围:节点数满足 0 \le n \le 10000≤n≤1000,节点上的值满足 |val| \le 1000∣val∣≤1000 要求:空间复杂度 O(n)O(n),时间复杂度 O(n)O(n) 备注: 你可以用递归和迭代两种方法解决这个问题

示例1

输入:
{1,2,2,3,4,4,3}
返回值:
true

示例2

输入:
{8,6,9,5,7,7,5}
返回值:
false
解答
import java.util.*; public class Solution {      boolean isSymmetrical(TreeNode nRoot) {         return recur(nRoot, nRoot);     }     boolean recur(TreeNode root1, TreeNode root2) { //一些特殊情况...         //都同时为空或者同时同样的未报错的情况下遍历尽时 结束/返true         if (root1 == null && root2 == null) {             return true;         }         if (root1 == null || root2 == null || root1.val != root2.val) {             return false;         }               正常情况,返回递归函数进行递归                     return recur(root1.left, root2.right) && recur(root1.right, root2.left);     }     }  

标签:BM31,return,recur,symmetric,二叉树,null,root1,root2
From: https://www.cnblogs.com/somedieyoung/p/16720664.html

相关文章

  • leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal 从前序与
    一、题目大意给定两个整数数组preorder和inorder,其中preorder是二叉树的先序遍历,inorder是同一棵树的中序遍历,请构造二叉树并返回其根节点。示例1:输入:pre......
  • 对称二叉树
    对称二叉树一、题目描述给一个二叉树的根节点root,检查它是否为轴对称。实例输入:root=[1,2,2,3,4,4,3]输出:true输入:root=[1,2,2,null,3,null,3]输出:false二......
  • 构造二叉树并输出层次遍历序列
    题目给定两个字符串,分别是二叉树的后序遍历和中序遍历,打印二叉树的层次遍历序列.思路构造出二叉树,然后层次遍历其实就是完全糅合二叉树构造和层次遍历两道题目lee......
  • 2415. 在 JavaScript 中反转二叉树的奇数层
    2415.在JavaScript中反转二叉树的奇数层鉴于根一个完美的二叉树,反转每个节点的值奇怪的树的层次。例如,假设第3层的节点值为[2,1,3,4,7,11,29,18],那么它应......
  • leetcode 2415.反转二叉树的奇数层
    leetcode2415.反转二叉树的奇数层题目描述给你一棵完美二叉树的根节点root,请你反转这棵树中每个奇数层的节点值。例如,假设第3层的节点值是[2,1,3,4,7,11,29,1......
  • 二叉树的遍历
    前序遍历(先序遍历):先访问根,再左子树,再右子树中序遍历:先访问左子树,再访问根,再右子树后序遍历:先左子树,再右子树,最后访问根......
  • leetcode 101. Symmetric Tree 对称二叉树(简单)
    一、题目大意给你一个二叉树的根节点root,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false......
  • LeetCode 111 二叉树的最小深度
    后序遍历classSolution{public:intdfs(TreeNode*node){if(node==nullptr)return0;if(node->left==nullptr&&node->right!=nul......
  • LeetCode 101 对称二叉树
    /***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(......
  • LeetCode 226 翻转二叉树
    /***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(......