Consider all the leaves of a binary tree.  From left to right order, the values of those leaves form a leaf value sequence.

LeetCode-872. Leaf-Similar Trees

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 and 100 nodes.

题解:

class Solution {
public:
  static void dfs(TreeNode* p, vector<int> &res) {
    if (p->left == NULL && p->right == NULL) {
      res.push_back(p->val);
    }
    if (p->left != NULL) {
      dfs(p->left, res);
    }
    if (p->right != NULL) {
      dfs(p->right, res);
    }
  }
  bool leafSimilar(TreeNode* root1, TreeNode* root2) {
    vector<int> res1, res2;
    dfs(root1, res1);
    dfs(root2, res2);
    int l1 = res1.size(), l2 = res2.size();
    if (l1 != l2) {
      return false;
    }
    else {
      for (int i = 0; i < l1; i++) {
        if (res1[i] != res2[i]) {
          return false;
        }
      }
      return true;
    }
  }
};

 

相关文章:

  • 2021-11-09
  • 2021-11-03
  • 2021-09-03
  • 2021-06-05
  • 2022-12-23
  • 2022-03-01
  • 2022-01-21
猜你喜欢
  • 2021-04-10
  • 2022-01-10
  • 2021-09-25
  • 2021-05-16
  • 2021-05-18
  • 2022-12-23
  • 2021-09-23
相关资源
相似解决方案