zoukankan      html  css  js  c++  java
  • 剑指offer61-二叉搜索树的第k个节点

    题目描述

    给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8)    中,按结点数值大小顺序第三小结点的值为4。
    思路:中序遍历第k个节点
        TreeNode* KthNode(TreeNode* pRoot, int k)
        {
            //中序遍历
            int count=0;
            TreeNode*p=pRoot;
            stack<TreeNode*>s;
            if(pRoot==NULL) return p;

            do{
                while(p!=NULL)
                {
                    s.push(p);
                    p=p->left;
                }
                p=s.top();
                s.pop();
                count++;
                if(count==k) return p;
                    p=p->right;
            }while(p!=NULL||!s.empty());
            return p;
        }
  • 相关阅读:
    磁盘冗余 ---RAID磁盘管理
    linux磁盘管理
    linux基础命令
    Apache配置rewrite
    memcache运维整理
    mysql主从配置
    rsync相关整理
    Lua 学习笔记(六)
    Lua 学习笔记(五)
    Lua 学习笔记(四)
  • 原文地址:https://www.cnblogs.com/trouble-easy/p/12988587.html
Copyright © 2011-2022 走看看