按序记录每棵树叶子节点。比较是否一致。
前序,中序,后序都可以。
Consider all the leaves of a binary tree. From left to right order, the values of those leaves form a leaf value sequence.
For example, in the given tree above, the leaf value sequence is (6, 7, 4, 9, 8)
.
Two binary trees are considered leaf-similar if their leaf value sequence is the same.
Return true
if and only if the two given trees with head nodes root1
and root2
are leaf-similar.
Note:
- Both of the given trees will have between
1
and100
nodes.
/** * 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) { vector res1; vector res2; preorder(root1,res1); preorder(root2,res2); if(res1.size()!=res2.size()) return false; for(int i=0;i