101. 对称二叉树

时间:2020-03-24
本文章向大家介绍101. 对称二叉树,主要包括101. 对称二叉树使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
 1 /**
 2  * Definition for a binary tree node.
 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 {
12 public:
13     bool isSymmetric(TreeNode* root) 
14     {
15         if(root == NULL || root->left == NULL && root->right == NULL) return true;
16         return symmetric(root,root);
17     }
18 
19     //1、两个根节点的值要相等
20     //2、左边的左子树和右边的右子树对称
21     //3、左边的右子树和右边的左子树对称
22     bool symmetric(TreeNode* root1,TreeNode* root2)
23     {
24         if(root1 == NULL && root2 == NULL) return true;
25         if(root1 == NULL || root2 == NULL) return false;
26         if(root1->val == root2->val) return symmetric(root1->left,root2->right) && symmetric(root1->right,root2->left);
27         else return false;
28     }
29 };

原文地址:https://www.cnblogs.com/yuhong1103/p/12557828.html