当前位置 博文首页 > 中流击水,浪遏飞舟:剑指 Offer 28. 对称的二叉树

    中流击水,浪遏飞舟:剑指 Offer 28. 对称的二叉树

    作者:[db:作者] 时间:2021-08-26 12:47

    递归解法:

    递归目的:
    判断是否镜像,是true,否false;
    递归终止条件:
    1.左右空:true;
    2.左右值不等,或者左右有一个空:false;
    继续递归:
    左左和右右&&左右和右左。

    class Solution {
    public:
        bool issym(TreeNode* l,TreeNode* r){
            if(!l&&!r){
                return true;
            }
            if(!l||!r||l->val!=r->val){
                return false;
            }
            return issym(l->left,r->right)&&issym(l->right,r->left);
        }
        bool isSymmetric(TreeNode* root) {
            if(!root){
                return true;
            }
            return issym(root->left,root->right);
        }
    };
    

    层次遍历解法:

    对每一层的结点进行层次遍历的判断,不是所有结点进行层次遍历判断!!!前者只需要判断这一层是否镜像,后者难以对拥有多少个结点判断且耗时长。

    cs