File tree Expand file tree Collapse file tree 1 file changed +17
-17
lines changed Expand file tree Collapse file tree 1 file changed +17
-17
lines changed Original file line number Diff line number Diff line change @@ -1287,23 +1287,23 @@ java代码:
1287
1287
``` java
1288
1288
class Solution {
1289
1289
public List<Integer > largestValues (TreeNode root ) {
1290
- List< Integer > retVal = new ArrayList< Integer > ();
1291
- Queue< TreeNode > tmpQueue = new LinkedList< TreeNode > ();
1292
- if (root != null ) tmpQueue . add(root);
1293
-
1294
- while (tmpQueue . size() != 0 ){
1295
- int size = tmpQueue . size( );
1296
- List< Integer > lvlVals = new ArrayList< Integer > ();
1297
- for ( int index = 0 ; index < size; index ++ ){
1298
- TreeNode node = tmpQueue . poll ();
1299
- lvlVals . add( node. val );
1300
- if (node . left != null ) tmpQueue . add( node. left );
1301
- if (node. right != null ) tmpQueue . add (node. right );
1302
- }
1303
- retVal . add( Collections . max(lvlVals));
1304
- }
1305
-
1306
- return retVal ;
1290
+ if (root == null ){
1291
+ return Collections . emptyList ();
1292
+ }
1293
+ List< Integer > result = new ArrayList ();
1294
+ Queue< TreeNode > queue = new LinkedList ();
1295
+ queue . offer(root );
1296
+ while ( ! queue . isEmpty()){
1297
+ int max = Integer . MIN_VALUE ;
1298
+ for ( int i = queue . size (); i > 0 ; i -- ){
1299
+ TreeNode node = queue . poll( );
1300
+ max = Math . max(max, node. val );
1301
+ if (node. left != null ) queue . offer (node. left );
1302
+ if (node . right != null ) queue . offer(node . right);
1303
+ }
1304
+ result . add(max);
1305
+ }
1306
+ return result ;
1307
1307
}
1308
1308
}
1309
1309
```
You can’t perform that action at this time.
0 commit comments