本文主要是介绍【剑指offer】对称二叉树(树),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
链接
https://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb?tpId=13&tqId=11211&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
代码
/*
struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}
};
*/class Solution {
public:bool isSymmetrical(TreeNode* pRoot){if(pRoot == NULL){return true;}return match(pRoot->left, pRoot->right);}bool match(TreeNode* p1, TreeNode* p2){if(p1 == NULL && p2 == NULL){return true;}else if(p1 == NULL || p2 == NULL){return false;}else{if(p1->val == p2->val){return match(p1->left, p2->right) && match(p1->right, p2->left);}else{return false;}}}
};
这篇关于【剑指offer】对称二叉树(树)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!