366 Find Leaves of Binary Tree

366. Find Leaves of Binary Tree

1. Question

Given a binary tree, collect a tree's nodes as if you were doing this: Collect and remove all leaves, repeat until the tree is empty.

Example: Given binary tree

          1
         / \
        2   3
       / \     
      4   5

Returns[4, 5, 3], [2], [1].

Explanation:

  1. Removing the leaves[4, 5, 3]would result in this tree:

          1
         / 
        2
  1. Now removing the leaf[2]would result in this tree:

          1
  1. Now removing the leaf[1]would result in the empty tree:

Returns[4, 5, 3], [2], [1].

2. Implementation

(1) DFS

思路: 对于每个node,找到它相应的高度,并根据这个高度加到相应的res里。leaves的那一层会在level 0。

3. Time & Space Complexity

DFS: 时间复杂度: O(n), 空间复杂度: O(n)

Last updated

Was this helpful?