Warum erhalte ich "Zeitlimit überschritten" Fehler in der Reisungsprobleme der Binärbaumebene in Leetcode?
Posted: 02 Feb 2025, 19:19
Ich versuche, das Problem zu lösen: Binärer Auftragsverlustproblem auf Leetcode und ich habe auch versucht, nach den Antworten zu suchen, aber ich erhalte immer noch ein Zeitlimit übersteht (tle) Fehler. Bitte helfen Sie mir, herauszufinden, was schief geht. Ich verwende Java, um dieses Problem zu lösen. . (d.h., von links nach rechts, Ebene nach Ebene). Binärer Baum "src =" https://i.static.net/usgkmced.png "/>
Eingabe: root = [3,9,20 , null, null, 15,7]
Ausgabe: [[3], [9,20], [15,7]]
Beispiel 2:
Eingabe: root = [1]
Ausgabe: [[1]]
Beispiel 3:
Eingabe: root = []
Ausgabe: [] < /p>
Einschränkungen: < /strong> < /p>
Eingabe: root = [3,9,20 , null, null, 15,7]
Ausgabe: [[3], [9,20], [15,7]]
Beispiel 2:
Eingabe: root = [1]
Ausgabe: [[1]]
Beispiel 3:
Eingabe: root = []
Ausgabe: [] < /p>
Einschränkungen: < /strong> < /p>
- Die Anzahl der Knoten im Baum liegt im Bereich [0) , 2000] .
Code: Select all
-1000 . Und hier ist mein Code für dasselbe Problem: < /p> [code]class Solution { public List levelOrder(TreeNode root) { List result = new ArrayList(); if(root == null){ return result; } Queue q = new LinkedList(); q.offer(root); while(!q.isEmpty()){ List level = new ArrayList(); int size = q.size(); for(int i = 0; i < size; i++){ level.add(q.peek().val); q.poll(); if(root.left != null){ q.offer(root.left); } if(root.right != null){ q.offer(root.right); } } result.add(level); } return result; } }