写在前面
剑指offer:二叉搜索树的第k个结点
总结二叉树的前序遍历和中序遍历的迭代实现。
题目要求
给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。
解法
class Solution {
public:
TreeNode* KthNode(TreeNode* pRoot, int k)
{
if(!pRoot||k<=0) return nullptr;
TreeNode* cur = pRoot,*res = nullptr;
stack<TreeNode*> s;
while(cur||!s.empty()) {
while(cur) {
s.p