剑指offer-二叉搜索树的第k个结点(python)

思路:二叉搜索树按照中序遍历的顺序打印出来正好就是排序好的顺序

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    # 返回对应节点TreeNode
    def KthNode(self, pRoot, k):
        # write code here
        if not pRoot:
            return None
        global res
        res=[]
        self.midsort(pRoot)
        if len(res)<k or k<=0:
            return None
        return res[k-1]
    
    def midsort(self,node):
        if not node:
            return None
        self.midsort(node.left)
        res.append(node)
        self.midsort(node.right)

猜你喜欢

转载自blog.csdn.net/qq_42738654/article/details/104618473