PAT A1119 前序遍歷後續遍歷不唯一生成

2021-09-12 17:08:29 字數 603 閱讀 1536

之前僅僅接觸過如何通過二叉樹的中序+先序/後序序列生成唯一二叉樹,這一次見到了這個新的題型;

這裡先梳理乙個概念,之所以會生成樹不唯一,一定是有乙個葉子,無論其在父節點的左右子節點,都可能生成相同的先序和後序遍歷序列;

所以這個時候,思路就很清晰,我們判別乙個序列是否唯一,條件就是是否有乙個節點只有乙個子節點;

大致的序列分割和先序和後續相同,這個後面專門開乙個blog進行總結;

#include#include#include#include#include#includeusing namespace std;

using std::vector;

using std::set;

vectorin,pre,post;

bool uniq=true;

void chargement(int prl,int prr,int pol,int por)

if(pre[prl]==post[por])

}int main()

PAT A1119 前序遍歷後續遍歷不唯一生成

之前僅僅接觸過如何通過二叉樹的中序 先序 後序序列生成唯一二叉樹,這一次見到了這個新的題型 這裡先梳理乙個概念,之所以會生成樹不唯一,一定是有乙個葉子,無論其在父節點的左右子節點,都可能生成相同的先序和後序遍歷序列 所以這個時候,思路就很清晰,我們判別乙個序列是否唯一,條件就是是否有乙個節點只有乙個...

PAT A1119 前序遍歷後續遍歷不唯一生成

之前僅僅接觸過如何通過二叉樹的中序 先序 後序序列生成唯一二叉樹,這一次見到了這個新的題型 這裡先梳理乙個概念,之所以會生成樹不唯一,一定是有乙個葉子,無論其在父節點的左右子節點,都可能生成相同的先序和後序遍歷序列 所以這個時候,思路就很清晰,我們判別乙個序列是否唯一,條件就是是否有乙個節點只有乙個...

PAT甲級真題1119 前序和後序遍歷 複雜遞迴)

假設乙個二叉樹上所有結點的權值都互不相同。我們可以通過後序遍歷和中序遍歷來確定唯一二叉樹。也可以通過前序遍歷和中序遍歷來確定唯一二叉樹。但是,如果只通過前序遍歷和後序遍歷,則有可能無法確定唯一二叉樹。現在,給定一組前序遍歷和後序遍歷,請你輸出對應二叉樹的中序遍歷。如果樹不是唯一的,則輸出任意一種可能...