C++實現重建二叉樹,假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹並返回

解題思路以下:code 一、首先創建4個vector用來存放前序遍歷和中序遍歷的左右子樹;遞歸 二、因爲前序遍歷的第1個元素就是根節點,則在中序遍歷中找到它記爲Head,則中序遍歷中Head左邊的長度爲Head的幾個元素爲中序遍歷的左子樹;同理在前序遍歷中第1個元素右邊長度爲Head的幾個元素爲前序遍歷的左子樹;it 三、而後以Head爲分界線,把他們的左右子樹分別放入各自新建的vector中;i
相關文章
相關標籤/搜索