![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构-二叉搜索树
liubeiandcaocao
这个作者很懒,什么都没留下…
展开
-
剑指offer36 二叉搜索树与双向链表的转换 递归的应用,主要是改中序遍历打印的内容,以及对链表的学习
这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。 """ # Definition for a Node. class Node: def __init__(self, val, left=None, right=None): self.val = val self.left = left self.right = right """ clas原创 2020-07-22 22:19:49 · 73 阅读 · 0 评论 -
235. 二叉搜索树的最近公共祖先 236. 二叉树的最近公共祖先
236. 二叉树的最近公共祖先 二叉树是没有排序的,而且树的形状也没要求,那么递归 递归就是分析多种情况,然后不断递归调用 class Solution: def lowestCommonAncestor(self,root,p,q): if not root or root==p or root==q: #root为空,或者是p和q中的一个值,那么都返回root ...原创 2020-04-04 22:33:03 · 93 阅读 · 0 评论 -
二叉搜索树的第k个最小元素,第k个最大元素
二叉搜索树的中序遍历(左中右)为升序序列,递归或迭代实现中序遍历,进而找到第k个最小的元素 二叉搜索树的第k个最小元素 #递归 class Solution: def kthSmallest(self, root, k): def inorder(root):#中序遍历 左中右 return inorder(root.left) + [root.val] + inorder(root.right) if root else [] return原创 2020-06-10 23:15:08 · 329 阅读 · 0 评论