zoukankan      html  css  js  c++  java
  • LeetCode

    问题:判断二叉树是否为镜像二叉树
    分析:递归判断,根节点单独判断,然后递归左结点和右结点,之后每次一起递归左结点的左结点和右结点的右结点比较,左结点的右结点和右结点的左结点比较。

     1 /**
     2  * Definition for binary tree
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     bool isSymmetric(TreeNode *root) {
    13         if (!root || (!root->left && !root->right))
    14             return true;
    15         return dfs(root->left, root->right);
    16     }
    17     
    18     bool dfs(TreeNode *left, TreeNode *right)
    19     {
    20         if (!left && !right)
    21             return true;
    22         if ((!left && right) || (left && !right) || (left->val != right->val)) 
    23             return false;
    24         return dfs(left->left, right->right) && dfs(left->right, right->left);
    25     }
    26 };
  • 相关阅读:
    3.27 课堂 笔记
    第四周 4-2
    3-26
    Java EE期末项目
    条件查询、SQL、JPQL、HQL比较
    J2EE 第八周(04.23-04.29)
    J2EE 第七周(04.16-04.22)
    J2EE 第六周(04.09-04.15)
    J2EE 第五周(04.02-04.08)
    J2EE 第四周(03.26-04.01)
  • 原文地址:https://www.cnblogs.com/bournet/p/4388801.html
Copyright © 2011-2022 走看看