首页 > 其他分享 >LeetCode 101.对称二叉树

LeetCode 101.对称二叉树

时间:2023-03-29 15:05:42浏览次数:42  
标签:right TreeNode val null 二叉树 return 101 LeetCode left

1.题目:

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

 

示例 1:

LeetCode 101.对称二叉树_ide


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




2.代码:

方法一:递归实现

/**
 * 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) {
        boolean result=compare(root.left,root.right);
        return result;

    }
    public boolean compare(TreeNode left,TreeNode right){//确定好递归的参数!
        if(left==null && right!=null) return false;//一些特殊情况
        if(left!=null && right==null) return false;
        if(left==null && right==null) return true;
        if(left.val!=right.val) return false;
        boolean outside = compare(left.left,right.right);//判断左右子树的外侧是否相同,不断递归
        boolean inside = compare(left.right,right.left);//判断左右子树的内侧是否相同,不断递归
        return outside&&inside;//当左右子树的内侧和外侧都相同时,才返回true
    }
}





标签:right,TreeNode,val,null,二叉树,return,101,LeetCode,left
From: https://blog.51cto.com/u_15806469/6157022

相关文章

  • #yyds干货盘点# LeetCode程序员面试金典:盛最多水的容器
    题目:给定一个长度为n的整数数组 height 。有 n 条垂线,第i条线的两个端点是 (i,0) 和 (i,height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以......
  • #yyds干货盘点# LeetCode面试题:不同路径
    1.简述:一个机器人位于一个mxn 网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Fin......
  • Leetcode81. 搜索旋转排序数组 II
    classSolution{public:boolcheck(vector<int>&nums,inttarget,intl,intr)//[l,r]区间查找target{while(l<r){intmid=(......
  • 对称的二叉树
    classSolution{public:booldfs(TreeNode*l,TreeNode*r){if(l==NULL&&r==NULL)returntrue;elseif(l&&r)re......
  • 二叉树的镜像
    classSolution{public:voidmirror(TreeNode*root){if(root==NULL)return;mirror(root->left);mirror(root->right);Tre......
  • 打开二进制文件,为什么不显示0101,而是一堆乱码?(chatGPT)
    二进制文件中的每个字节都包含八个二进制位(bit),每个二进制位只有0或1两种状态,因此每个字节有256种不同的可能取值。当打开二进制文件时,如果将文件以文本形式打开,那么文件内......
  • 【单调队列】LeetCode 239. 滑动窗口最大值
    题目链接239.滑动窗口最大值思路单调队列的使用方法,可以参考【单调队列】LeetCode面试题59-II.队列的最大值在本题中将滑动窗口的移动看作往队列中放数和取数的过......
  • leetcode-841-钥匙和房间 题解
    题目描述有N个房间,开始时你位于0号房间。每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。在形式上,对于每个房间i都有一个钥匙列表r......
  • 【LeetCode滑动窗口专题】水果成篮 + 最小覆盖子串(hard)
    二刷刷到滑动窗口,发现有一些细节和遗漏,在此补充实际上关于滑动窗口的题还有一题:最小长度的子数组进入正题水果成篮LeetCode904水果成篮你正在探访一家农场,农场从左到......
  • 二叉树(建树|遍历|寻找最大最小深度)
    二叉树基础操作1.实现思路建树:递归从数组中按照层级建立递归:提供6种建树操作(前、中、后序递归和非递归)最大深度:利用回溯|递归实现两种操作最小深度:利用递归实现2.代......