https://leetcode.com/problems/leaf-similar-trees/
1. Use DFS:
//4 ms 11.4 MB/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/class Solution {public:bool leafSimilar(TreeNode* root1, TreeNode* root2) {if((!root1 && root2) || (root1 && !root2) ) return false;vector<int> leaves1;vector<int> leaves2;DFS(root1, leaves1);DFS(root2, leaves2);return leaves1 == leaves2;}private:void DFS(TreeNode* root, vector<int>& leaves){if(!root) return;if(!root->left && !root->right)leaves.push_back(root->val);DFS(root->left, leaves);DFS(root->right, leaves);}};
