二叉树遍历变种101. Symmetric Tree

来源:互联网 发布:广州知卓广告 编辑:程序博客网 时间:2024/05/22 07:58

这里写图片描述

/** * 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;    }};

这里写图片描述

0 0