二叉搜索树第k个节点
2019-06-13 15:24
99 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zb_915574747/article/details/91865614
给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。
二叉搜索树的中序遍历后的排列顺序为从小到大的排列,中序遍历即可。
代码
[code]/* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } }; */ class Solution { public: TreeNode* KthNode(TreeNode* pRoot, int k) { if(!pRoot) return nullptr; if(k<=0) return nullptr; TreeNode *res=nullptr; Inorder(pRoot,res,k); return res; } void Inorder(TreeNode *p,TreeNode * &res,int &k){ if(p){ Inorder(p->left,res,k); k--; if(k==0) { res=p; return ; } Inorder(p->right,res,k); } } };
相关文章推荐
- 二叉搜索树的第K个节点
- 剑指offer_二叉搜索树的第k个节点
- 求二叉搜索树的第k个节点
- 二叉搜索树的第K个节点:递归中用参数返回值。
- 二叉搜索树的第k个节点——js
- 剑指Offer--二叉搜索树的第K个节点-不会
- 二叉搜索树的第k个节点
- 二叉搜索树的第K个节点
- 【剑指offer】题63:二叉搜索树的第k个节点
- 二叉搜索树的第k个节点
- 剑指offer面试题63:二叉搜索树的第k个节点 Java实现
- 二叉搜索树的第k个节点
- 剑指Offer——二叉搜索树的第K个节点
- 二叉搜索树的第k个节点(java版)
- Python:二叉搜索树的第k个节点
- 从二叉搜索树的第k个节点问题看递归如何返回普通变量和对象
- 二叉搜索树的第K个节点
- 二叉搜索树的第K个节点
- 剑指offer——二叉搜索树的第k个节点
- 求二叉搜索树中第k个节点