本文主要是介绍101. 对称二叉树(Symmetric Tree),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。
1
/ \
2 2
/ \ / \
3 4 4 3
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:
1
/ \
2 2
\ \
3 3
方法一、递归方法
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public://判断以p和q为根节点的两颗二叉树是否镜像对称bool juge (TreeNode*p,TreeNode*q){if((p==NULL&&q!=NULL)||(p!=NULL&&q==NULL))return false;if(p==NULL&&q==NULL)return true;//p,q都不为NULL时return (p->val==q->val)&&juge(p->left,q->right)&&juge(p->right,q->left);}bool isSymm
这篇关于101. 对称二叉树(Symmetric Tree)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!