kt: add «1325. Delete Leaves With a Given Value»

Signed-off-by: Matej Focko <me@mfocko.xyz>
This commit is contained in:
Matej Focko 2024-05-17 18:26:09 +02:00
parent 5bdc00e5ca
commit 04c2005f8a
Signed by: mfocko
GPG key ID: 7C47D46246790496

View file

@ -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
}
}