Want to know:
hashmap记录inorder值于index的对应然后dfs,preorder第一个为root然后通过map找到root的index,和inStart,inEnd比较的到左右的大小然后再在preorder里找到根据左右大小找到left的root和right的root,如此迭代 public TreeNode build(int pre, int inStart, int inEnd, int[] preorder, HashMap<Integer,Integer> map){ if(pre >= preorder.length || inStart > inEnd) { return null; } TreeNode root = new TreeNode(preorder[pre]); if(inStart == inEnd) { return root; } int index = map.get(preorder[pre]); int leftSize = index - inStart; int rightSize = inEnd - index; int leftRoot = pre + 1; int rightRoot = pre + leftSize + 1; root.left = build(leftRoot, inStart, index-1, preorder, map); root.right = build(rightRoot, index+1, inEnd, preorder, map); return root; }
Get a detailed, AI-powered explanation for this question and thousands more on StudyFetch.
Get the Answer for FreeHow StudyFetch Helps You Master This Topic
AI-Powered Answers
Get instant, detailed explanations powered by AI that understands your course material.
Deep Understanding
Go beyond surface-level answers with step-by-step breakdowns and examples.
Personalized Learning
Sparky adapts to your learning style and helps you connect ideas.
Practice & Test
Turn any question into flashcards, quizzes, and practice tests to solidify your knowledge.
Explore More Questions
- Si la qualité de la prédiction est faible à la fois sur la base d'apprentissage et la base de test cette situation correspond à :a) Une situation de surapprentissageb) Une situation de sous apprentissagec) Une autre réponse
- An objective function reflects the relevant cost of labour hours used in production rather than treating them as a sunk cost. The correct interpretation of the dual price associated with the labor hours constraint is
- Quand je propage la formule =D12 * B$12 sur la ligne 13, que devient-elle?