劍指offer打卡 二叉搜尋數的後序遍歷序列

2021-10-02 02:00:27 字數 648 閱讀 6327

輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。

概念回顧:二叉查詢樹(binary search tree),(又:二叉搜尋樹,二叉排序樹)它或者是一棵空樹,或者是具有下列性質的二叉樹: 若它的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值; 若它的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值; 它的左、右子樹也分別為二叉排序樹。

public class solution 

return verify(sequence,0,sequence.length-1);

}public boolean verify(int sequence,int first,int last)

int root=sequence[last];

int cut=first;

//確定左右子樹的分界點

while((sequence[cut]<=root)&&(cutfor(int i=cut;i}

//再對當前左右子樹的子樹進行判斷

return (verify(sequence,first,cut-1))&&(verify(sequence,cut,last-1));

}}

重建二叉數 劍指offer

輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。二叉樹四種基本的遍歷思想為 前序遍歷 根結點 左子樹 右子樹 中序遍歷 左子樹 根結點 右子樹 後序遍歷 左子樹 右子樹 根結點 層...

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

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

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

時間限制 1秒 空間限制 32768k 熱度指數 524747 本題知識點 棧 樹輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。這兩天狀態不行,沒多大刷題的動力。菜還不想動,說的大概就是我了。遞迴 大佬的思路...