JZX轻语:简
LeetCode 1325 - 删除给定值的叶子节点
发表于2024年07月29日
简单的后序遍历题目,首先递归遍历左右子树,子树遍历完毕后再判断当前节点是否为叶子节点且值为target
,如果是则删除该节点。最后返回操作后的子树根节点(如果被删除了则返回空)。
class Solution:
def is_leaf(self, node: TreeNode):
return node.left is None and node.right is None
def removeLeafNodes(self, root: Optional[TreeNode], target: int) -> Optional[TreeNode]:
if root is None:
return None
root.left = self.removeLeafNodes(root.left, target)
root.right = self.removeLeafNodes(root.right, target)
if self.is_leaf(root) and root.val == target:
return None
return root