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 };
  • 相关阅读:
    View(视图)
    计算器 ——给按钮添加监听器
    Activity(活动)
    UI组件
    计算器界面——GridLayout
    信息界面——GridLayout
    Android计算器界面 TableLayout
    javaji基础x2
    java的开始
    数据类型
  • 原文地址:https://www.cnblogs.com/bournet/p/4388801.html
Copyright © 2011-2022 走看看