[LeetCode]669. Trim a Binary Search Tree解法及python代码
2018-01-25 15:59
477 查看
原题链接:https://leetcode.com/problems/trim-a-binary-search-tree/
这个题描述中给的是平衡二叉树,利用平衡二叉树性质,当前节点的值小于L时,这个节点的左子树都小于L,可以剪掉,并用右子树代替当前节点;当前节点的值大于R时,这个节点的右子树都大于R,可以剪掉,并用左子树代替当前节点。代码如下:
这个题描述中给的是平衡二叉树,利用平衡二叉树性质,当前节点的值小于L时,这个节点的左子树都小于L,可以剪掉,并用右子树代替当前节点;当前节点的值大于R时,这个节点的右子树都大于R,可以剪掉,并用左子树代替当前节点。代码如下:
class Solution(object): #平衡二叉树删除节点的思想 def trimBST(self, root, L, R): """ :type root: TreeNode :type L: int :type R: int :rtype: TreeNode """ def helper(node): if not node: return None if node.val < L: return helper(node.right) elif node.val > R: return helper(node.left) node.left = helper(node.left) node.right = helper(node.right) return node root = helper(root) return root
相关文章推荐
- [LeetCode]Maximum Depth of Binary Tree(递归和层序遍历解法)@python
- leetcode_[python/C++]_98_Validate Binary Search Tree
- [LeetCode]34. Search for a Range解法及python代码
- [LeetCode]563. Binary Tree Tilt解法及python代码
- [LeetCode]12. Integer to Roman解法及python代码
- 【LeetCode with Python】 Balanced Binary Tree
- [LeetCode]题解(python):109-Convert Sorted List to Binary Search Tree
- leetcode Binary Tree Paths python
- leetcode Binary Tree Inorder Traversal python
- [LeetCode]Construct Binary Tree from Inorder and Postorder Traversal@python
- [LeetCode]题解(python):144-Binary Tree Preorder Traversal
- Leetcode_binary-tree-level-order-traversal (updated c++ and python version)
- Leetcode 173 Binary Search Tree Iterator 二叉查找树迭代器
- LeetCode :: Validate Binary Search Tree[具体分析]
- BinarySortTree java python leetcode
- 【LeetCode with Python】 Binary Tree Maximum Path Sum
- 【LeetCode】98. Validate Binary Search Tree 解法,中序遍历,搜索二叉树合法性
- 【leetCode】 Balanced Binary Tree python版实现
- leetcode——173——Binary Search Tree Iterator
- [leetcode][tree][stack] Binary Search Tree Iterator