Python 二叉搜索樹的第k個節點

給定一棵二叉搜索樹,請找出其中的第k小的節點。例如,(5,3,7,2,4,6,8)中,按節點數值大小排序第三小的節點值爲4

#-*- coding:utf-8 -*-
class TreeNode:
    def __init__(self,x):
        self.val = x
        self.left=None
        self.right =None

class Solution:
    def KthNode(self,pRoot,k):
        retList=[]

        def preOrder(pRoot):
            if pRoot==None:
                return None
            preOrder(pRoot.left)
            retList.append(pRoot)
            preOrder(pRoot.right)

        preOrder(pRoot)

        if len(retList)<k or k <1:
            return None

        return retList[k-1]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章