class Solution {
public:
    vector<int> v1;
    vector<int> v2;
    void GetLeaf(TreeNode* tree, int type)
    {
        if (tree->left != NULL || tree->right != NULL)
        {
            if (tree->left != NULL)
            {
                GetLeaf(tree->left, type);
            }
            if (tree->right != NULL)
            {
                GetLeaf(tree->right, type);
            }
        }
        else
        {
            if (type == 1)
            {
                v1.push_back(tree->val);
            }
            else
            {
                v2.push_back(tree->val);
            }
        }
    }
    bool leafSimilar(TreeNode* root1, TreeNode* root2) {
        GetLeaf(root1, 1);
        GetLeaf(root2, 2);
        if (v1.size() != v2.size())
        {
            return false;
        }
        for (int i = 0; i < v1.size(); i++)
        {
            if (v1[i] != v2[i])
            {
                return false;
            }
        }
        return true;
    }
};

 

posted on 2018-09-27 20:41  Sempron2800+  阅读(84)  评论(0编辑  收藏  举报