Given a binary tree in which each node element contains a number. The task is to find the minimum possible sum from one leaf node to another.
If one side of root is empty, then function should return minus infinite.
Input : 4 / \ 5 -6 / \ / \ 2 -3 1 8 Output : 1 The minimum sum path between two leaf nodes is: -3 -> 5 -> 4 -> -6 -> 1 Input : 3 / \ 2 4 / \ -5 1 Output : -2
Approach: The idea is to maintain two values in recursive calls:
- Minimum root to leaf path sum for the subtree rooted under current node.
- The minimum path sum between leaves.
For every visited node X, we find the minimum root to leaf sum in left and right sub trees of X. We add the two values with X’s data, and compare the sum with the current minimum path sum.
Below is the implementation of the above approach:
- Find the maximum path sum between two leaves of a binary tree
- Minimum and maximum node that lies in the path connecting two nodes in a Binary Tree
- Find sum of all right leaves in a given Binary Tree
- Height of binary tree considering even level leaves only
- Find sum of all left leaves in a given Binary Tree
- Print all nodes in a binary tree having K leaves
- Extract Leaves of a Binary Tree in a Doubly Linked List
- Tree with N nodes and K leaves such that distance between farthest leaves is minimized
- Minimum swap required to convert binary tree to binary search tree
- Maximum Path Sum in a Binary Tree
- XOR of path between any two nodes in a Binary Tree
- Print path between any two nodes in a Binary Tree
- Longest Path with Same Values in a Binary Tree
- Print path from root to a given node in a binary tree
- Sort the path from root to a given node in a Binary Tree
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.