給定乙個二叉搜尋樹,編寫乙個函式 kthsmallest 來查詢其中第 k 個最小的元素。
說明:你可以假設 k 總是有效的,1 ≤ k ≤ 二叉搜尋樹元素個數。
示例 1:
輸入: root = [3,1,4,null,2], k = 1
3/ \
1 4\2
輸出: 1
示例 2:
輸入: root = [5,3,6,2,4,null,null,1], k = 3
5/ \
3 6
/ \2 4/1
輸出: 3
思路:二叉樹的中序遍歷,記錄搜尋的元素的序號即可。
**:
class solution
++index;
if (root->right)
dfs(root->right, k, index);
return;
}public:
bool isvalid = true;
int kthsmallest(treenode* root, int k)
int index = 1;
dfs(root, k, index);
return ans;
}};
leetcode 230 二叉搜尋樹BST中序遍歷
題意 在二叉搜尋樹中找到第k小的元素。解題思路 直接按照二叉搜尋樹中序遍歷即可得到從小到大排列的陣列,即很容易找到第k小的值 include using namespace std definition for a binary tree node.struct treenode treenode ...
LeetCode 230 二叉搜尋樹中第K小的元素
給定乙個二叉搜尋樹,編寫乙個函式 kthsmallest 來查詢其中第 k 個最小的元素。說明 你可以假設 k 總是有效的,1 k 二叉搜尋樹元素個數。示例 1 輸入 root 3,1,4,null,2 k 1 3 1 4 2 輸出 1 示例 2 輸入 root 5,3,6,2,4,null,nul...
LeetCode 230二叉搜尋樹中第k小的元素
給定乙個二叉搜尋樹,編寫乙個函式 kthsmallest 來查詢其中第 k 個最小的元素。說明 你可以假設 k 總是有效的,1 k 二叉搜尋樹元素個數。示例 1 輸入 root 3,1,4,null,2 k 1 3 1 4 2 輸出 1 示例 2 輸入 root 5,3,6,2,4,null,nul...