File tree Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * Definition for a binary tree node.
3
+ * public class TreeNode {
4
+ * int val;
5
+ * TreeNode left;
6
+ * TreeNode right;
7
+ * TreeNode() {}
8
+ * TreeNode(int val) { this.val = val; }
9
+ * TreeNode(int val, TreeNode left, TreeNode right) {
10
+ * this.val = val;
11
+ * this.left = left;
12
+ * this.right = right;
13
+ * }
14
+ * }
15
+ */
16
+ class Solution {
17
+ public TreeNode addOneRow (TreeNode root , int v , int d ) {
18
+ if (d == 1 ) {
19
+ TreeNode base = new TreeNode (v );
20
+ base .left = root ;
21
+ return base ;
22
+ }
23
+
24
+ Queue <TreeNode > queue = new LinkedList <>();
25
+ queue .add (root );
26
+ int depth = 1 ;
27
+ while (depth < d - 1 ) {
28
+ Queue <TreeNode > temp = new LinkedList <>();
29
+ while (!queue .isEmpty ()) {
30
+ TreeNode node = queue .remove ();
31
+ if (node .left != null )
32
+ temp .add (node .left );
33
+ if (node .right != null )
34
+ temp .add (node .right );
35
+ }
36
+ queue = temp ;
37
+ depth ++;
38
+ }
39
+
40
+ while (!queue .isEmpty ()) {
41
+ TreeNode node = queue .remove ();
42
+ TreeNode temp = node .left ;
43
+ node .left = new TreeNode (v );
44
+ node .left .left = temp ;
45
+ temp = node .right ;
46
+ node .right = new TreeNode (v );
47
+ node .right .right = temp ;
48
+ }
49
+ return root ;
50
+ }
51
+ }public class addOneRowToTree {
52
+
53
+ }
You can’t perform that action at this time.
0 commit comments