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
Spark.E 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
- Dans une étude longitudinale, les changements dans le temps sont étudiés en prenant desmesures de groupes de sujet différents situés à des stades de développement différents
- Ursa Major Solar created an action that sends a follow-up email to the customer two days after a case is closed. The System Administrator wants to verify that the workflow functions correctly.Which queue should the System Administrator view to monitor pending Workflow Actions?
- Une corrélation égale à 0 signifie l'absence de lien entre les variables X et Y