zoukankan      html  css  js  c++  java
  • Leetcode 230 Kth Smallest Element in a BST

    1. 问题描写叙述

      给定一个二叉搜索树,找出第k小的元素。


    注意:能够如果k总是存在,1kBST


    que

    2. 方法与思路

      依据二叉搜索树的特点。中序遍历的结果即是排序好的数组。那么找出第k小的数,仅仅须要先进行一次中序遍历就可以。


      

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    private:
        vector<int> v;
        void midorder(TreeNode* root)
        {
           if(root != NULL)
           {
               midorder(root->left);
               v.push_back(root->val);
               midorder(root->right);
           }
        }
    public:
        int kthSmallest(TreeNode* root, int k) {
            midorder(root);
            return v[k-1];
        }
    };
  • 相关阅读:
    20201031
    20201028
    20201026
    20201027
    20201020
    ReentrantReadWriteLock原理分析
    java中Thread源码介绍
    CountDownLatch原理分析
    Semaphore原理分析
    AQS-共享模式分析
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5401998.html
Copyright © 2011-2022 走看看