From 04c2005f8a07afab1e6526afdbcacf12a750f0aa Mon Sep 17 00:00:00 2001 From: Matej Focko Date: Fri, 17 May 2024 18:26:09 +0200 Subject: [PATCH] =?UTF-8?q?kt:=20add=20=C2=AB1325.=20Delete=20Leaves=20Wit?= =?UTF-8?q?h=20a=20Given=20Value=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Matej Focko --- kt/delete-leaves-with-a-given-value.kt | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 kt/delete-leaves-with-a-given-value.kt diff --git a/kt/delete-leaves-with-a-given-value.kt b/kt/delete-leaves-with-a-given-value.kt new file mode 100644 index 0000000..bf628f4 --- /dev/null +++ b/kt/delete-leaves-with-a-given-value.kt @@ -0,0 +1,28 @@ +class TreeNode(var `val`: Int) { + var left: TreeNode? = null + var right: TreeNode? = null +} + +class Solution { + fun isLeaf(node: TreeNode?): Boolean { + return node != null && node.left == null && node.right == null + } + + fun removeLeafNodes( + root: TreeNode?, + target: Int, + ): TreeNode? { + if (root == null) { + return null + } + + root.left = removeLeafNodes(root.left, target) + root.right = removeLeafNodes(root.right, target) + + if (isLeaf(root) && root.`val` == target) { + return null + } + + return root + } +}