對一棵二叉樹進行中序遍歷得到a0 a1...an...
當遍歷樹時,如果處理當前節點時需要其中序遍歷序列中前一個節點的信息,即訪問an時需要an-1那麼可以用下面的框架進行中序遍歷。
void fun(TreeNode *root, TreeNode* &prev)
{
if(root == NULL) return;
fun(root->left, prev);
//訪問當前節點並處理
prev = root;
fun(root->right, prev);
}
或者
TreeNode *fun(TreeNode *root, TreeNode *prev)
{
if(root == NULL) return prev;
prev = fun(root->left, prev);
//訪問當前節點並處理
return fun(root->right, prev);
}