1+ package com .wdbyte .leetcode ;
2+
3+ import java .util .ArrayList ;
4+ import java .util .List ;
5+
6+ /**
7+ * https://leetcode.cn/problems/find-largest-value-in-each-tree-row/
8+ *
9+ * 515. 在每个树行中找最大值
10+ *
11+ * @author niulang
12+ * @date 2022/06/24
13+ */
14+ public class LeetCode515_FindLargeValueInEachTreeRow {
15+
16+ public static void main (String [] args ) {
17+ LeetCode515_FindLargeValueInEachTreeRow code515 = new LeetCode515_FindLargeValueInEachTreeRow ();
18+ TreeNode tree3_5 = new TreeNode (5 );
19+ TreeNode tree3_3 = new TreeNode (3 );
20+ TreeNode tree3_9 = new TreeNode (9 );
21+ TreeNode tree2_3 = new TreeNode (3 , tree3_5 , tree3_3 );
22+ TreeNode tree2_2 = new TreeNode (2 , null , tree3_9 );
23+ TreeNode tree1_1 = new TreeNode (1 , tree2_3 , tree2_2 );
24+ List <Integer > integers = code515 .largestValues (tree1_1 );
25+ System .out .println (integers );
26+ }
27+
28+ public List <Integer > largestValues (TreeNode root ) {
29+ List <Integer > result = new ArrayList <>();
30+ if (root == null ) {
31+ return result ;
32+ }
33+ List <TreeNode > nodeList = new ArrayList <>();
34+ nodeList .add (root );
35+ while (!nodeList .isEmpty ()) {
36+ List <TreeNode > nodeListTemp = new ArrayList <>();
37+ Integer max = null ;
38+ for (TreeNode treeNode : nodeList ) {
39+ if (treeNode == null ) {
40+ continue ;
41+ }
42+ if (max == null ) {
43+ max = treeNode .val ;
44+ }
45+ if (max < treeNode .val ) {
46+ max = treeNode .val ;
47+ }
48+ if (treeNode .left != null ) {
49+ nodeListTemp .add (treeNode .left );
50+ }
51+ if (treeNode .right != null ) {
52+ nodeListTemp .add (treeNode .right );
53+ }
54+ }
55+ result .add (max );
56+ nodeList = nodeListTemp ;
57+ }
58+ return result ;
59+ }
60+ }
61+
62+ class TreeNode {
63+ int val ;
64+ TreeNode left ;
65+ TreeNode right ;
66+
67+ TreeNode () {}
68+
69+ TreeNode (int val ) {this .val = val ;}
70+
71+ TreeNode (int val , TreeNode left , TreeNode right ) {
72+ this .val = val ;
73+ this .left = left ;
74+ this .right = right ;
75+ }
76+ }
0 commit comments