Answer:
TreeNode minimum(TreeNode root) {
if (root != null) {
if (firstChild == null && nextSibling == null) {
return root;
} else {
TreeNode begin = minimum(root.firstChild);
TreeNode last = minimum(root.nextSibling);
if (begin == false && (last == false || begin.data < last.data)) {
return begin;
} else {
return last;
}
} else {
return null;
}
}
Explanation:
The Java program defines a recursive method called minimum that calls itself twice with the first and last leaf of the treenode as the respective arguments. and returns the minimum value of the treenode if the root argument is not undefined.