先理解一下:题目是{5 3 7 2 4 6 8 },画一下这个二叉树就是,2,3,4,一个树,6,7,8一个树,然后3,5,7,一个树。
二叉搜索树的定义是,它的左子树上的所有节点的值均小于它的根节点的值,所以直接遍历就可以了。
class Solution:
# 返回对应节点TreeNode
def KthNode(self, pRoot, k):
# write code here
self.k = k
self.res = None
def eses(node):
if not node:
return
if node.left:
eses(node.left)
if self.k == 1:
self.res = node
self.k -= 1
if node.right:
eses(node.right)
eses(pRoot)
return self.res
京公网安备 11010502036488号