/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
* 其实不想写递归的,但是又不想写一个dfs,先这样吧,所以这个算法的最优是什么?
*/
class Solution {
public:
bool isSymmetric(TreeNode* root) {
if(root == NULL)
return true;
else
return judge(root->left, root->right);
}
bool judge(TreeNode* a, TreeNode* b)
{
if (a==NULL&&b==NULL)
return true;
else if (a!=NULL && b!=NULL && a->val == b->val)
{
return judge(a->left, b->right) && judge (a->right, b->left);
}
else
return false;
}
};
二叉树遍历变种101. Symmetric Tree
最新推荐文章于 2022-02-04 13:46:50 发布