Java 函数确定二叉树的叶子是否为路径中的最大值

Java 函数确定二叉树的叶子是否为路径中的最大值,java,python,Java,Python,我有一个挑战性的任务要解决。我有一个二叉树,像这样:根是11,11的子代是5和8,5的子代是13和12,8的右子代是14 我必须编写一个函数来查看所有叶,如果叶是从根到叶的路径中的最大值,则返回true;如果不是这样,则返回false。例如,对于叶14,这显然是正确的,因为从根11开始,有一个节点5,14是其中的最大值 我知道这必须是一个递归函数,但我真的不知道如何处理这个问题。用Python、Java、C或Pascal进行解释会很好,但如果有人能给我一个解决这个问题的提示,我已经很高兴了 谢谢

我有一个挑战性的任务要解决。我有一个二叉树,像这样:根是11,11的子代是5和8,5的子代是13和12,8的右子代是14

我必须编写一个函数来查看所有叶,如果叶是从根到叶的路径中的最大值,则返回true;如果不是这样,则返回false。例如,对于叶14,这显然是正确的,因为从根11开始,有一个节点5,14是其中的最大值

我知道这必须是一个递归函数,但我真的不知道如何处理这个问题。用Python、Java、C或Pascal进行解释会很好,但如果有人能给我一个解决这个问题的提示,我已经很高兴了


谢谢:

此任务与

本文中的C代码:

bool isBST(struct TreeNode *node, int minKey, int maxKey) {
  if(node == NULL) return true;
  if(node->key < minKey || node->key > maxKey) return false;
  return isBST(node->left, minKey, node->key-1) && isBST(node->right, node->key+1, maxKey);
}
搜索树有着丰富的理论,比单一答案更大。如果你愿意,你可以走得更深。享受: