https://blog.nowcoder.net/n/4fa351e14ee64514babb6742ee023627
題意整理
- 輸入一棵二叉搜索樹,將該二叉搜索樹轉換成一個排序的雙向鏈表。
方法一(遞歸)
1.解題思路
由於二叉搜索樹的中序遍歷是從小到大依次輸出的,所以可以利用中序遍歷,在遍歷的過程中,逐個改變當前節點的指向。
- 預先定義一個pre指針,指向當前節點的前一個節點。以及一個head指針指向頭節點。
- 當pre為空時,可以確定當前節點為雙向鏈表的頭節點head。其它情況下則可以將pre的后繼指向當前節點cur。
- 遍歷過程中,對於每一個cur,都應將其前驅指向pre。同時不斷跟新pre。最后返回head即可。
圖解展示: