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