題意:在二叉搜尋樹中找到第k小的元素。
解題思路:直接按照二叉搜尋樹中序遍歷即可得到從小到大排列的陣列,即很容易找到第k小的值
#include
using namespace std;
// definition for a binary tree node.
struct treenode
treenode(int x) : val(x), left(nullptr), right(nullptr) {}
treenode(int x, treenode* left, treenode* right) : val(x), left(left), right(right) {}
};//方法一:中序遍歷求第k小的值
class solution
void recursion(treenode* root, int k, int& num, int& target, bool& flag)
recursion(root->right, k, num, target, flag);}}
};
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...
LeetCode230 二叉搜尋樹中第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...