jian4 重建二叉樹

2021-09-25 13:29:14 字數 555 閱讀 1091

經典的二叉樹 題目 使用遞迴求解

對於樹 有很大一部分解題都是遞迴

思路因為每次遍歷的長度是動態變化的,所以乾脆將 前序 和中序中對應的start 和 end 都放進去

package review;

public class reconstructbinarytree

}public treenode reconstructbinarytree(int pre,int in)

// 不需要每次都傳入根幾點 因為每次都要新建節點

public treenode reconbtree(int pre,int in, int pleft, int pright, int ileft, int iright )

}return root;

}}

這裡需要注意的點:

因為是插入 所以每次都new 乙個節點

然後 遞迴時 直接將值賦值給root.left 和right 就好了

遞迴邊界是 left>right  及沒有長度了 返回null 也相當於沒有的那個節點為null

4 重建二叉樹

測試通過 時間限制 1秒 空間限制 32768k 題目描述 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。時間限制 1秒空間限制 32768k 本題知識點 查詢 牛客網陣列題目鏈...

4 重建二叉樹

輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建該二叉樹。例如前序遍歷序列和中序遍歷序列為和,假設結果中無重複的數字。重建二叉樹並返回 1 前序遍歷二叉樹的形式為 根節點,左子樹,右子樹 中序遍歷二叉樹的形式為 左子樹,根節點,右子樹 因此我們需要把前序遍歷的第乙個結果new乙個treenode 出來...

4 重建二叉樹

輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。先序序列第乙個數就是根結點而後是左子樹的先序序列和右子樹的先序序列,而中序序列是先是左子樹的中序序列,然後是根結點,最後是右子樹的中...