日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > [LeetCode] Binary Search Tree Iterator

[LeetCode] Binary Search Tree Iterator

來源:程序員人生   發布時間:2015-01-16 08:52:29 閱讀次數:2681次

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.

這是1道很經典的題目,考的非遞歸的中序遍歷。其實這道題等價于寫1個2叉樹中序遍歷的迭代器。需要內置1個棧,1開始先存儲到最左葉子節點的路徑。在遍歷的進程中,只要當前節點存在右孩子,則進入右孩子,存除從此處開始到當前子樹里最左葉子節點的路徑。

public class BSTIterator { Stack<TreeNode> stack; public BSTIterator(TreeNode root) { stack = new Stack<TreeNode>(); while (root != null) { stack.push(root); root = root.left; } } /** @return whether we have a next smallest number */ public boolean hasNext() { return !stack.isEmpty(); } /** @return the next smallest number */ public int next() { TreeNode node = stack.pop(); int ret = node.val; if (node.right != null) { node = node.right; while (node != null) { stack.push(node); node = node.left; } } return ret; } }

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久久久久久婷婷 | 国产黄色大片 | 久久亚洲视频 | 俄罗斯a级毛片 | 麻豆少妇 | 国产精品一区二区三区在线免费观看 | 在线看一区二区 | 日韩2区 | 日本精a在线观看 | 亚洲1区在线 | 婷婷综合网 | 亚洲国产精品电影 | 精品自拍视频 | 久久久久国产一区二区三区四区 | 国产视频久久 | 亚洲一区中文字幕 | av在线网站观看 | 国产成人精品免费 | 热久久久 | 一区视频在线 | 国产不卡一二三 | 操操操日日日 | 久久一二三区 | 国产福利在线视频 | 26uuu色噜噜精品一区二区 | 青草久久久久 | 欧美日韩国产一区二区 | 欧美精品一区二区三区蜜桃视频 | 亚洲精品成人av | 美女日日日| 午夜精品久久久久久久久久蜜桃 | 日韩综合图区 | 韩日一级 | 精品欧美一区二区精品久久久 | 国产精品久久久久av福利动漫 | 美女天天干| 婷婷综合五月天 | 国产精品亚洲欧美 | 国产午夜精品福利 | 精品国产乱码久久久久久丨区2区 | 一区在线观看视频 |