題目描述
輸入一棵二叉搜索樹,將該二叉搜索樹轉(zhuǎn)換成一個(gè)排序的雙向鏈表。要求不能創(chuàng)建任何新的結(jié)點(diǎn),只能調(diào)整樹中結(jié)點(diǎn)指針的指向。

代碼
要轉(zhuǎn)換成排序的雙向鏈表,所以對(duì)二叉樹進(jìn)行中序遍歷,當(dāng)遍歷到 cur 節(jié)點(diǎn)時(shí),其左子樹已經(jīng)變成雙向鏈表,不留存一下最后元素的話,找不到最后一個(gè)元素的地址(反正我不會(huì)),所以要保存一下雙向鏈表的最后一個(gè)元素的地址。
這里定義為 **LastNodeInList 的原因:
當(dāng)在被調(diào)用函數(shù)中要對(duì)值進(jìn)行修改并希望傳回調(diào)用函數(shù)時(shí),用指針。
但是這里要在 main 函數(shù)中返回 TreeNode *LastNode ,對(duì) LastNode 這個(gè)指針的指向進(jìn)行修改,不定義成指針的指針的話,ConvertCore中形參的改變不能傳回 main 函數(shù),所以就需要傳遞指針的指針。