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

二叉搜索树的第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;
    }
全部评论

相关推荐

牛客604067584号:我9月初投递10月入池,泡到现在。hr全部离职,当然没离职的时候也联系不上。我发邮件给campus也不回我
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务