23 二叉搜尋樹的後續遍歷序列

2021-10-07 12:36:24 字數 636 閱讀 6370

題目描述

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

思路

解題思路根據二叉搜尋樹的定義,可以通過遞迴,判斷所有子樹的正確性(即其後序遍歷是否滿足二叉搜尋樹的定義) ,若所有子樹都正確,則此序列為二叉搜尋樹的後序遍歷。

遞迴解析

public

class

solution

public

boolean

helpverify

(int

sequence,

int start,

int root)

for(

int j = i;j < root;j++

)return

helpverify

(sequence,start,i-1)

&&helpverify

(sequence,i,root -1)

;//遞迴判斷

}}

二叉搜尋樹的後續遍歷序列

輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷結果,假設輸入的陣列的任意兩個數字都互不相同 author q.yuan public class judgepostorder leftend 判斷左子樹的值是否都小於根節點的值 for int i low i leftend i 判斷右子樹...

二叉搜尋樹的後續遍歷序列

題目 輸入乙個整數陣列 判斷該陣列是不是某二叉搜尋樹的後續遍歷結果 如果是則返回true 否咋返回false 假設輸入數字的任意兩個數字都互不相同 後序遍歷是左 右 根 左 根 右 陣列最後乙個值t為根結點的值 陣列中小於t的為樹的左孩子 之後的應當為右孩子 且所有的右孩子大於根t 若存在不大於t的...

二叉搜尋樹的後續遍歷序列

題目 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷結果。如果是則返回true,否則返回false。思路 在後序遍歷得到的序列中,最後乙個數字是輸的根節點的值。陣列前面的數字可以分為兩部分 第一部分是左子樹節點的值,它們都比根節點的值小 第二部分是右子樹節點的值,它們都比根節點的值大。如此...