Given a binary tree and a integer value K, the task is to find all nodes data in given binary tree having exactly K leaves in sub-tree rooted with them.
NOTE: Nodes should be printed in the order in which they appear in postorder traversal.
Input: K = 1 0 / \ 1 2 Output: -1 Explanation: There is no node in this tree which has one leaf in the sub tree below it.
Input: K = 2 0 / \ 1 2 / 4 / \ 5 9 Output: 4 2 Explanation: Nodes with data 2 and 4, have 2 leaves in the subtree below it.
Just complete the function btWithKleaves() and returns the answer (as a vector in cpp, as a ArrayList in java and as list in python)
Note: If no node is found the list returned should contain only one value -1.
Expected Time Complexity: O(N).
Expected Auxiliary Space: O(Height of the Tree).
1 <= N <= 1000
1 <= K <= 1000
1 <= value of nodes <= 10000
Note:The Input/Ouput format and Example given are used for system's internal purpose, and should be used by a user for Expected Output only. As it is a function problem, hence a user should not read any input from stdin/console. The task is to complete the function specified, and not to write the full code.
We strongly recommend solving this problem on your own before viewing its editorial. Do you still want to view the editorial?Yes