LeetCode/java/add-one-row-to-tree.java
Matej Focko d5634c4d42
java: add «623. Add One Row to Tree»
Signed-off-by: Matej Focko <me@mfocko.xyz>
2024-04-16 15:11:43 +02:00

35 lines
780 B
Java

class Solution {
private enum Side {
Left,
Right
}
private TreeNode addOneRow(int depth, int val, TreeNode node, int currentDepth, Side s) {
if (depth == currentDepth) {
var newRoot = new TreeNode(val);
switch (s) {
case Left:
newRoot.left = node;
break;
case Right:
newRoot.right = node;
break;
}
return newRoot;
}
if (node == null) {
return node;
}
node.left = addOneRow(depth, val, node.left, currentDepth + 1, Side.Left);
node.right = addOneRow(depth, val, node.right, currentDepth + 1, Side.Right);
return node;
}
public TreeNode addOneRow(TreeNode root, int val, int depth) {
return addOneRow(depth, val, root, 1, Side.Left);
}
}