62.二叉搜索树的第k个节点(python)

Posted Assange

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了62.二叉搜索树的第k个节点(python)相关的知识,希望对你有一定的参考价值。

题目描述

给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8)    中,按结点数值大小顺序第三小结点的值为4。
 
思路:中序遍历
 1 class Solution:
 2     # 返回对应节点TreeNode
 3     def KthNode(self, pRoot, k):
 4         # write code here
 5         stack = []
 6         while stack or pRoot:
 7             if pRoot:
 8                 stack.append(pRoot)
 9                 pRoot = pRoot.left
10             else:
11                 pRoot=stack.pop()
12                 k-=1
13                 if k == 0:
14                     return pRoot
15                 pRoot=pRoot.right

2019-12-31 21:26:57

以上是关于62.二叉搜索树的第k个节点(python)的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer62:二插搜索树的第k个节点

精选力扣500题 第62题 剑指 Offer 54. 二叉搜索树的第k大节点c++/java详细题解

剑指offer 62.二叉搜索树的第k个结点

62二叉搜索树的第k个结点

62剑指offer--二叉搜索树的第k个结点

剑指offer62:二叉搜索树的第k个结点,二叉搜索树左边的元素小于根,右边的元素大于根