LeetCode-669 修剪二叉树
题目链接:669. 修剪二叉搜索树 - 力扣(LeetCode)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
class Solution(object): def trimBST(self, root, low, high): """ :type root: TreeNode :type low: int :type high: int :rtype: TreeNode """ s=Solution() if not root: ''' 检查根节点是否存在,如果不存在,则返回None(不是必需的,是用于处理某些特殊情况而添加的,例如在遍历一棵树的时候,你可能需要在递归到最后一个叶子节点后返回None,以便告诉调用方已经到达了书的底部,如果不进行这样的处理,在遍历到最后一个节点时,程序将抛出AttributeError错误)''' return None if root.val<low: return s.trimBST(root.right,low,high) elif root.val>high: return s.trimBST(root.left,low,high) else: root.left=s.trimBST(root.left,low,high) root.right=s.trimBST(root.right,low,high) return root
|