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;
        }
    };
  • 相关阅读:
    python之函数对象、函数嵌套、名称空间与作用域、装饰器
    python之函数
    python基础-小练习
    python基础之文件操作
    python基础之字符编码
    web开发-Django博客系统
    HotSpot的算法实现
    垃圾回收机制(GC)
    Java注意点...
    JVM内存区域及对象
  • 原文地址:https://www.cnblogs.com/one-think/p/12673569.html
Copyright © 2011-2022 走看看