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];
    }
};
阅读更多
个人分类: Leetcode
上一篇Leetcode 232 Implement Queue using Stacks 和 231 Power of Two
下一篇Leetcode 233 Number of Digit One
想对作者说点什么? 我来说一句

the kth smallest elem

2017年04月04日 67KB 下载

Motion sensor PIR Panosoinc 6252 Datasheet

2013年02月28日 1.09MB 下载

LeetCode最全代码

2017年04月09日 4.25MB 下载

BST树的建立及各种操作

2009年06月10日 4KB 下载

leetcode solution

2018年06月07日 1.15MB 下载

leetcode java解答答案

2015年12月20日 36KB 下载

GBT7714-2005NLang.bst

2017年03月12日 91KB 下载

leetcode java题解

2015年08月10日 54KB 下载

没有更多推荐了,返回首页

关闭
关闭