LeetCode 230. Kth Smallest Element in a BST(非递归中序遍历二叉树)
Posted ITAK
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 230. Kth Smallest Element in a BST(非递归中序遍历二叉树)相关的知识,希望对你有一定的参考价值。
因为这是一棵二叉搜索树,所以找它的第
k
k
k 小值,就是这棵二叉搜索树的中序遍历之后的第
k
k
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
public:
int kthSmallest(TreeNode* root, int k)
TreeNode* now = root;
stack<TreeNode*> s;
while(!s.empty() || now)
while(now)
s.push(now);
now = now->left;
now = s.top();
s.pop();
k--;
if(k==0) return now->val;
now = now->right;
;
以上是关于LeetCode 230. Kth Smallest Element in a BST(非递归中序遍历二叉树)的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode 230. Kth Smallest Element in a BST
Leetcode 230. Kth Smallest Element in a BST
Leetcode 230: Kth Smallest Element in a BST
leetcode 230. Kth Smallest Element in a BST
[Leetcode] Binary search/tree-230. Kth Smallest Element in a BST