zoukankan      html  css  js  c++  java
  • 230. 二叉搜索树中第K小的元素(c++)

    给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。
    说明:
    你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。
    class Solution {
    public:
        int kthSmallest(TreeNode* root, int k) {
            stack<TreeNode*> s;
            int num = 0;
            TreeNode *cur = root;
            while(!s.empty()|| cur)
            {
                if(cur)
                {
                    s.push(cur);
                    cur = cur->left;
                }
                else
                {
                    cur = s.top();
                    s.pop();
                    num++;
                    if(num == k)
                        return cur->val;
                    cur = cur->right;
                }
            }
            return 0;
        }
    };
  • 相关阅读:
    Cocos2d-x 2.x项目创建
    Mac OS 使用Git
    Android Studio And Gradle
    Mac OS环境变量配置(Android Studio之Gradle)
    【Android UI】 Shape详解
    JS-OC通信之Cordova简介
    python类的定义和使用
    Android屏幕适配常识
    Python面试315题
    第十五篇 Python之文件处理
  • 原文地址:https://www.cnblogs.com/one-think/p/12673569.html
Copyright © 2011-2022 走看看