前序遍历和中序遍历的模版,记住它你的人生是彩色的

二叉搜索树的第k个结点

http://www.nowcoder.com/questionTerminal/ef068f602dde4d28aab2b210e859150a

中序遍历

TreeNode* KthNode(TreeNode* head, int k){
        std::stack<TreeNode*> mstck;
        TreeNode* curr = head;
        while(curr || !mstck.empty()){
            while(curr){
                mstck.push(curr);
                curr = curr->left;
            }

            if(--k == 0)
                return mstck.top();
            //访问节点
            curr = mstck.top()->right;
            mstck.pop();
        }
        return nullptr;
    }

前序遍历

TreeNode* KthNode(TreeNode* head, int k){
        std::stack<TreeNode*> mstck;
        TreeNode* curr = head;
        while(curr || !mstck.empty()){
            while(curr){
                //访问节点
                mstck.push(curr);
                curr = curr->left;
            }

            .........................

            curr = mstck.top()->right;
            mstck.pop();
        }
        return nullptr;
    }
全部评论

相关推荐

牛客976315581号:这是hr“不合适”的便捷语句
点赞 评论 收藏
分享
02-08 20:56
已编辑
南京工业大学 Java
在等offer的比尔很洒脱:我也是在实习,项目先不说,感觉有点点小熟悉,但是我有点疑问,这第一个实习,公司真的让实习生去部署搭建和引入mq之类的吗,是不是有点过于信任了,我实习过的两个公司都是人家正式早搭好了,根本摸不到部署搭建的
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务