54. 二叉搜索树的第k大节点
生活随笔
收集整理的這篇文章主要介紹了
54. 二叉搜索树的第k大节点
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2020-06-22
1.題目描述
給定一棵二叉搜索樹,請找出其中第k大的節(jié)點(diǎn)。2.題解
中序遍歷二叉搜索樹即為升序的結(jié)果,將其存儲(chǔ)在vector中,最后進(jìn)行輸出即可。3.代碼
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/ class Solution { public:int kthLargest(TreeNode* root, int k) {if (!root) return -1;stack<TreeNode*> mystack;TreeNode* p=root;vector<int> tmp;while (p||!mystack.empty()){if (p){mystack.push(p);p=p->left;}else{p=mystack.top();mystack.pop();tmp.push_back(p->val);p=p->right;}}int index=tmp.size()-k;return tmp[index];} };總結(jié)
以上是生活随笔為你收集整理的54. 二叉搜索树的第k大节点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sqlserver ssms ctrl+
- 下一篇: 微信公众平台开发新手教程(图文具体解释)