872. Leaf-Similar Trees

`Input: root1 = [3,5,1,6,2,9,8,null,null,7,4], root2 = [3,5,1,6,7,4,2,null,null,null,null,null,null,9,8]Output: true`
`Input: root1 = [1], root2 = [1]Output: true`
`Input: root1 = [1], root2 = [2]Output: false`
`Input: root1 = [1,2], root2 = [2,2]Output: true`
`Input: root1 = [1,2,3], root2 = [1,3,2]Output: false`
`/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode() : val(0), left(nullptr), right(nullptr) {} *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */class Solution {public:        void leaf(TreeNode *root, vector<int>& v){                if(root->right == NULL && root->left == NULL){                        v.push_back(root->val);        }                if(root->right != NULL){            leaf(root->right, v);        }        if(root->left != NULL){            leaf(root->left, v);        }     }        bool leafSimilar(TreeNode* root1, TreeNode* root2) {                vector<int> v1;        leaf(root1, v1);        vector<int> v2;        leaf(root2, v2);                if(v1.size() != v2.size()){                        return false;        }for(int i=0; i<v1.size(); i++){                        if(v1[i] != v2[i]){                                return false;            }        }        return true;    }};`

--

--

--

More from Andreea

IM rookie

Love podcasts or audiobooks? Learn on the go with our new app.

IM rookie