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

对称二叉树

时间:2022-09-22 00:33:32浏览次数:59  
标签:return TreeNode 二叉树 对称 null root check

对称二叉树

一、题目描述

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

实例

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

输入:root = [1,2,2,null,3,null,3]
输出:false

二、解题思路

树是轴对称,遍历树,右子树要和左子树镜像对称。

三、解题思路

方法1
使用一个递归函数,有一个双指针。同时开始遍历树。指针开始都是指向根节点。p右移,q左移、p左移q右移。即可
代码实现

class Solution {
    public boolean isSymmetric(TreeNode root) {
        return check(root, root);
    }

    public boolean check(TreeNode p, TreeNode q) {
        if (p == null && q == null) {
            return true;
        }
        if (p == null || q == null) {
            return false;
        }
        return p.val == q.val && check(p.left, q.right) && check(p.right, q.left);
    }
}

标签:return,TreeNode,二叉树,对称,null,root,check
From: https://www.cnblogs.com/zjjtt/p/16717754.html

相关文章

  • 密码学基础之非对称加密算法
    非对称加密算法非对称加密的一般流程是服务端生成一个密钥对(私钥和公钥),然后将公钥发送给客户端。之后服务可以通过私钥加密数据发送给客户端,客户端收到消息后通过公钥解密......
  • 面试官:说说对称加密、非对称加密、混合加密?懵了。。
    来源:liuchenyang0515.blog.csdn.net/article/details/109263510对称加密两边用同一个密钥来加解密。A把明文通过某一算法加密之后得到密文,然后把密文发送给B,B接收到密文......
  • 构造二叉树并输出层次遍历序列
    题目给定两个字符串,分别是二叉树的后序遍历和中序遍历,打印二叉树的层次遍历序列.思路构造出二叉树,然后层次遍历其实就是完全糅合二叉树构造和层次遍历两道题目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......
  • 二叉树的遍历
    前序遍历(先序遍历):先访问根,再左子树,再右子树中序遍历:先访问左子树,再访问根,再右子树后序遍历:先左子树,再右子树,最后访问根......
  • 使用openssl实现RSA非对称加密
    生成公钥私钥使用命令生成私钥:1opensslgenrsa-outrsa_private_key.pem1024参数:genrsa生成密钥 -out输出到文件 rsa_private_key.pem......
  • 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(......