赞
踩
2022年10月27日 14点18分
二叉搜索树并不算复杂,但它可以算是数据结构领域的半壁江山,直接基于 BST 的数据结构有 AVL 树,红黑树等等,拥有了自平衡性质,可以提供 logN 级别的增删查改效率;还有 B+ 树,线段树等结构都是基于 BST 的思想来设计的
// 二叉树升序遍历 void traverse(TreeNode root) { if (root == null) return; traverse(root.left); // 中序遍历代码位置 print(root.val); traverse(root.right); } // 二叉树降序遍历 void traverse(TreeNode root) { if (root == null) return; // 先递归遍历右子树 traverse(root.right); // 中序遍历代码位置 print(root.val); // 后递归遍历左子树 traverse(root.left); }
class Solution:
def convertBST(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
self.sum = 0
self.traverse(root)
return root
def traverse(self,root):
if not root:return
self.traverse(root.right)
self.sum += root.val
root.val = self.sum
self.traverse(root.left)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。