題意
使用非遞迴的方式 Inorder Traversal
二元樹。
解法
Inorder 順序是左子樹、根、右子樹,利用 stack
來完成 Traversal 。
往左子樹下看並同時將一路上的根放入 stack,當碰到 null 時代表該節點左子樹已到底,pop 出該節點(此時視為根)且紀錄,因此接著進入該節點右子樹重複步驟上述步驟,直到該節點右子樹遍歷完,代表該節點的根之左子樹遍歷完畢,再依此類推。
程式
|
|
使用非遞迴的方式 Inorder Traversal
二元樹。
Inorder 順序是左子樹、根、右子樹,利用 stack
來完成 Traversal 。
往左子樹下看並同時將一路上的根放入 stack,當碰到 null 時代表該節點左子樹已到底,pop 出該節點(此時視為根)且紀錄,因此接著進入該節點右子樹重複步驟上述步驟,直到該節點右子樹遍歷完,代表該節點的根之左子樹遍歷完畢,再依此類推。
|
|