@Mr.Bin Hi, I think the time complexity is O(h) where h is the height of the tree.

Here is why, take the worst case where this tree only has one side. When we pass in the root node, it recursively reach down to the leaf of the tree. When pass in the leaf of the tree, we populate the result list, and return a value to its parent. And then its parent get put in the result list and return a value to the node above it. So actually we only touch each node once. So O(h).

Please correct me if I'm wrong.

Find Leaves of Binary Tree