博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Binary Search Tree Iterator leetcode
阅读量:5818 次
发布时间:2019-06-18

本文共 1045 字,大约阅读时间需要 3 分钟。

Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the root node of a BST.

Calling next() will return the next smallest number in the BST.

Note: next() and hasNext() should run in average O(1) time and uses O(h) memory, where h is the height of the tree.

Credits:

Special thanks to  for adding this problem and creating all test cases.

 

 to see which companies asked this question

 

class BSTIterator {private:    TreeNode *current = NULL;     stack
s;public: BSTIterator(TreeNode *root) { // initialize the current pointer current = root; } /** @return whether we have a next smallest number */ bool hasNext() { while(current){ s.push(current); current = current->left; } return !s.empty(); } /** @return the next smallest number */ int next() { TreeNode* node = s.top(); s.pop(); current = node->right; return node->val; }};

 

转载于:https://www.cnblogs.com/sdlwlxf/p/5167679.html

你可能感兴趣的文章