這是一道面試題,解題的**如下(我這裡把有重複節點的序列排除了,這裡的二叉樹不允許有相同值得節點):
bool judgelistisbstreepostorder(int* iarray, int nleft, int nright)
int nmidvalue = iarray[nright];
int nsubleft = nleft;
int nsubright = nright;
for (int i = nleft; i < nright; i++)
else if(iarray[i] == nmidvalue)
}if (nsubright > nsubleft) }
//如果到尾部了,則無需檢查右子樹了
if (nsubright == nright)
nsubleft = nsubright;
nsubright = nright-1;
for (int i = nsubleft; i < nright; i++) }
return judgelistisbstreepostorder(iarray, nsubleft, nsubright);
}
二叉樹 判斷整數序列是否為二叉搜尋樹的後序序列
題目 判斷整數序列是不是二叉搜尋樹的後序遍歷 思路 後序遍歷根在最後 1.從開頭和根依次比較,劃分左右子樹 2.右子樹一但有 根的,false 3.遞迴判斷左右子樹 4.返回左右子樹的bool值想與 bool isposorder int arr,int len 右子樹一旦有小於root的值就是fa...
樹 4 判斷某個序列是否是二叉查詢樹的後序遍歷結果
二叉搜尋樹 1 它或者是一棵空樹 2 或者是具有下列性質的二叉樹 1 若左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 2 若右子樹不空,則右子樹上所有結點的值均大於它的根結點的值 3 左 右子樹也分別為二查詢序樹 5 7 6 9 11 10 8 由後序遍歷性質可知最後乙個元素是根節點 然後...
判斷二叉樹是否是平衡二叉樹
二叉樹的節點定義為 public class treenode 二叉樹的深度 根節點到葉節點的最長路徑長度 平衡二叉樹 二叉樹中任一節點的左右子樹的深度相差不超過1 遞迴的方法 如下 public boolean isbalanced treenode root intleft getheight ...