Skip to content

Commit 967cd16

Browse files
committed
update
1 parent b3e4da3 commit 967cd16

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
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+
}

0 commit comments

Comments
 (0)