Java 函数确定二叉树的叶子是否为路径中的最大值
我有一个挑战性的任务要解决。我有一个二叉树,像这样:根是11,11的子代是5和8,5的子代是13和12,8的右子代是14 我必须编写一个函数来查看所有叶,如果叶是从根到叶的路径中的最大值,则返回true;如果不是这样,则返回false。例如,对于叶14,这显然是正确的,因为从根11开始,有一个节点5,14是其中的最大值 我知道这必须是一个递归函数,但我真的不知道如何处理这个问题。用Python、Java、C或Pascal进行解释会很好,但如果有人能给我一个解决这个问题的提示,我已经很高兴了Java 函数确定二叉树的叶子是否为路径中的最大值,java,python,Java,Python,我有一个挑战性的任务要解决。我有一个二叉树,像这样:根是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);
}
搜索树有着丰富的理论,比单一答案更大。如果你愿意,你可以走得更深。享受: