由於是後續遍歷 ,所以陣列的最後一位 一定是根節點 ,根據二叉搜尋樹的性質,我們可以知道 左節點的值小於根節點小於右節點,可以定義乙個標誌位 left ,表示當前右子樹開始的下標
只要index【left】< root 說明 還是在左子樹中 ,當找到 右子樹的起點 之後,可以對整個右子樹遍歷 ,如果都大於root的值 ,可以根據 left 的值 將整個陣列 分為左右子樹的陣列,遞迴 進行
最後返回的條件是 :: 遍歷到了 根節點中的根節點
* @date 2023年3月11日
* 功能:二叉搜尋樹的後序遍歷 ---
***/
public class test ;
solution s =new solution ();
s.find(index);
}}class solution
int left=0;
int right=index.length-1;
system.out.println(core(index,left,right));
}public boolean core(int x ,int left ,int right)
int root =x[right];//根節點值
二叉搜尋樹的後續遍歷序列
輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷結果,假設輸入的陣列的任意兩個數字都互不相同 author q.yuan public class judgepostorder leftend 判斷左子樹的值是否都小於根節點的值 for int i low i leftend i 判斷右子樹...
二叉搜尋樹的後續遍歷序列
題目 輸入乙個整數陣列 判斷該陣列是不是某二叉搜尋樹的後續遍歷結果 如果是則返回true 否咋返回false 假設輸入數字的任意兩個數字都互不相同 後序遍歷是左 右 根 左 根 右 陣列最後乙個值t為根結點的值 陣列中小於t的為樹的左孩子 之後的應當為右孩子 且所有的右孩子大於根t 若存在不大於t的...
二叉搜尋樹的後續遍歷序列
題目 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷結果。如果是則返回true,否則返回false。思路 在後序遍歷得到的序列中,最後乙個數字是輸的根節點的值。陣列前面的數字可以分為兩部分 第一部分是左子樹節點的值,它們都比根節點的值小 第二部分是右子樹節點的值,它們都比根節點的值大。如此...