劍指Offer 026二叉搜尋樹與雙向鍊錶

2021-09-25 01:20:22 字數 473 閱讀 7842

026二叉搜尋樹與雙向鍊錶

題目:輸入一棵二叉搜尋樹,將該二叉搜尋樹轉換成乙個排序的雙向鍊錶。要求不能建立任何新的結點,只能調整樹中結點指標的指向。

方法:遞迴法

思路:建立left和right兩個指標,right用來指向最後新增的,left指向開頭,用中序遍歷從左中右的節點進行呼叫,然後進行乙個兩相鄰節點的左右指標的互指,返回left左指標

**:

//鍊錶的左右指標,先開始指向開頭,然後只移動右指標進行新增,最後返回左指標就是整個鍊錶

treenode left=null;

treenode right=null;

public treenode convert(treenode prootoftree) else

convert(prootoftree.right);

return left;

}

劍指offer 二叉樹 二叉樹搜尋樹

package bst import j a.util.public class bst if pre.length 0 in.length 0 treenode root new treenode pre 0 for int i 0 i in.length i return root 判斷給定陣列...

劍指offer 二叉樹 二叉搜尋樹的後序遍歷

輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。例如輸返回true 輸入返回false 1,利用二叉搜尋樹左 中 右的特性,和後序遍歷的特點 2,後序遍歷為左右根,則陣列末尾為根,然後依據大小找出左子樹和右子樹...

劍指Offer 二叉搜尋樹的後序遍歷

輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。author zy date 2017年10月13日 下午9 34 21 decription 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如...