dfs

要点是这一句:

return node.val==1 or node.left or node.right

完整代码:

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
import functools
class Solution:
    @functools.lru_cache()
    def pruneTree(self, root: TreeNode) -> TreeNode:
        def dfs(node:TreeNode)->bool:
            if not node:
                return False
            if not dfs(node.left):
                node.left=None
            if not dfs(node.right):
                node.right=None
            return node.val==1 or node.left or node.right
        if not root:
            return
        return root if dfs(root) else None

 

相关文章:

  • 2021-07-27
  • 2022-02-02
  • 2022-02-04
  • 2021-10-11
  • 2021-12-30
  • 2022-02-18
  • 2021-12-01
  • 2021-11-02
猜你喜欢
  • 2022-01-08
  • 2021-11-28
  • 2021-05-23
  • 2022-12-23
  • 2022-01-10
  • 2021-09-10
  • 2022-02-04
相关资源
相似解决方案