230 二叉搜尋樹中第K小的元素

2022-09-12 23:03:35 字數 598 閱讀 6612

給定乙個二叉搜尋樹,編寫乙個函式 kthsmallest 來查詢其中第 k 個最小的元素。

說明:你可以假設 k 總是有效的,1 ≤ k ≤ 二叉搜尋樹元素個數。

示例 1:

輸入: root = [3,1,4,null,2], k = 1

3/ \

1 4\2

輸出: 1

1

public

class

kthsmallest 9}

10private

int count = 0;

11private

intval;

12public

int kthsmallest(treenode root, int

k)

16public

void inorder(treenode node, int

k) 20

inorder(node.left, k);

21 count++;

22if(count ==k)

26inorder(node.right, k);27}

28 }

230 二叉搜尋樹中第K小的元素

給定乙個二叉搜尋樹,編寫乙個函式 kthsmallest 來查詢其中第 k 個最小的元素。說明 你可以假設 k 總是有效的,1 k 二叉搜尋樹元素個數。基本上就是中序遍歷 definition for a binary tree node.class treenode object def init...

230 二叉搜尋樹中第K小的元素

難度 中等 題目描述 思路總結 偷個小懶,用中序遍歷出二叉搜尋樹的序列,然後直接返回下標。題解一 definition for a binary tree node.class treenode def init self,x self.val x self.left none self.right...

230 二叉搜尋樹中第K小的元素

題目 給定乙個二叉搜尋樹,編寫乙個函式 kthsmallest 來查詢其中第 k 個最小的元素。說明 你可以假設 k 總是有效的,1 k 二叉搜尋樹元素個數。先是自己寫的糟糕的演算法 然後是官方的迭代演算法,可以在找到之後就不再查詢,降低了時間空間複雜度 class solution root st...