設計實現乙個帶有下列屬性的二叉查詢樹的迭代器:
next()返回bst中下乙個最小的元素
樣例 1:
輸入:
輸出:[1, 6, 10, 11, 12]
解釋:二叉查詢樹如下 :
10/\
1 11
\ \
6 12
可以返回二叉查詢樹的中序遍歷 [1, 6, 10, 11, 12]
樣例 2:
輸入:
輸出:[1,2,3]
解釋:二叉查詢樹如下 :
2 / \
1 3
可以返回二叉查詢樹的中序遍歷 [1,2,3]
額外空間複雜度是o(h),其中h是這棵樹的高度
super star:使用o(1)的額外空間複雜度
/**
* definition of treenode:
* class treenode
* }* example of iterate a tree:
* bstiterator iterator = bstiterator(root);
* while (iterator.hasnext())
class bstiterator
}bstiterator(treenode * root)
/** @return: true if there has next node, or false
*/bool hasnext()
/** @return: return next node
*/treenode * next()
};
lintcode練習 86 二叉查詢樹迭代器
設計實現乙個帶有下列屬性的二叉查詢樹的迭代器 對於下列二叉查詢樹,使用迭代器進行中序遍歷的結果為 1,6,10,11,12 10 1 11 6 12額外空間複雜度是o h 其中h是這棵樹的高度 super star 使用o 1 的額外空間複雜度 definition of treenode clas...
二叉搜尋樹的迭代器
我們經常使用著我們並不熟悉的函式 類,我們只知道它們所提供的介面以及怎樣使用。這就像我們開車在馬路上,你可能並不知道汽車是如何執行,或許你會說這並不需要知道。但至少知道一些回在車拋錨的時候你能做一些事,而不是抽根菸無所事事等維修隊過來 如果路上很擠,你就倒霉了 我們也有必要知道問題 在程式出問題的時...
二叉搜尋樹 使用迭代器
迭代器 它的用法與指標用法相同 使用迭代器實現二叉搜尋樹,使用有兩個指標域的頭結點實現,並且多給bstree中加入乙個雙親結點 pparent。ref operator 解引用 ptr operator bool operator const self s bool operator const s...