# LeetCode 173. Binary Search Tree Iterator

## 原题要求

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.

## 我的解法

public class BSTIterator {
Stack<TreeNode> stack = new Stack<TreeNode>();

public BSTIterator(TreeNode root) {
TreeNode temp = root;
while (null != temp) {
stack.push(temp);
temp = temp.left;
}
}

/** @return whether we have a next smallest number */
public boolean hasNext() {
if (!stack.empty()) {
return true;
}
return false;
}

/** @return the next smallest number */
public int next() {
TreeNode temp = stack.pop();
if (null != temp.right) {
TreeNode newTemp = temp.right;
while (null != newTemp) {
stack.push(newTemp);
newTemp = newTemp.left;
}
}
return temp.val;
}
}


• 本文已收录于以下专栏：

## leetcode-173：Binary Search Tree Iterator（Java）

Binary Search Tree Iterator Implement an iterator over a binary search tree (BST). Your iterato...
• wen1158646729
• 2015年08月18日 10:58
• 1128

## leetcode 173: Binary Search Tree Iterator

Binary Search Tree Iterator Total Accepted: 1141 Total Submissions: 3857 Implement an iterat...
• xudli
• 2015年01月02日 12:44
• 4102

## [Java]leetcode173 Binary Search Tree Iterator

Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the ro...
• fumier
• 2015年04月10日 08:52
• 633

## LeetCode-173. Binary Search Tree Iterator (JAVA)BST的迭代

LeetCode-173. Binary Search Tree Iterator (JAVA)BST的迭代，二叉查找树
• mine_song
• 2017年04月28日 13:08
• 237

## [LeetCode 173] Binary Search Tree Iterator

Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the ro...
• sbitswc
• 2015年08月21日 14:11
• 596

## Leetcode: Binary Search Tree Iterator

Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the ro...
• doc_sgl
• 2015年01月03日 22:13
• 3630

## Leetcode 173 Binary Search Tree Iterator 二叉查找树迭代器

• smile_watermelon
• 2015年08月04日 18:27
• 1365

## Validate Binary Search Tree -- LeetCode

• linhuanmars
• 2014年04月16日 04:34
• 11688

## Leetcode 98. Validate Binary Search Tree C++及javascript解答，不同语言不同玩法

• sunny606
• 2017年03月15日 22:03
• 210

## leetcode 270: Closest Binary Search Tree Value

Closest Binary Search Tree Value Total Accepted: 1815 Total Submissions: 6418 Difficult...
• xudli
• 2015年09月26日 09:43
• 5228

举报原因： 您举报文章：LeetCode 173. Binary Search Tree Iterator 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)