Leetcode练习(Python):二分查找类:第230题:二叉搜索树中第K小的元素:给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k

Posted 桌子哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode练习(Python):二分查找类:第230题:二叉搜索树中第K小的元素:给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k相关的知识,希望对你有一定的参考价值。

题目:

二叉搜索树中第K小的元素:给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。  说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。  

思路:

二叉搜索树具有良好的性质,一个节点左边的数小于该节点,右边的数大于该节点,因此想到了使用中序排列,很方便就得到了结果。

暂时还没有想到使用二分查找的思路,之后做补充。

程序:

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def kthSmallest(self, root: TreeNode, k: int) -> int:
        auxiliary = []
        def inorder(root, auxiliary):
            if root == None:
                return auxiliary
            inorder(root.left, auxiliary)
            auxiliary.append(root.val)
            inorder(root.right, auxiliary)
        inorder(root, auxiliary)
        result = auxiliary[k - 1]
        return result

  

以上是关于Leetcode练习(Python):二分查找类:第230题:二叉搜索树中第K小的元素:给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode练习(Python):二分查找类:第240题:搜索二维矩阵 II:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 ta

Leetcode练习(Python):二分查找类:第240题:搜索二维矩阵 II:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 ta

LeetCode(二分查找法) 入门练习一

LeetCode(二分查找法) 入门练习三

LeetCode(二分查找法) 入门练习二

数据结构和算法三个“二分查找”练习