當前位置:
首頁 >
[剑指offer][JAVA]面试题第[07]题[重建二叉树][递归]
發布時間:2023/12/10
25
豆豆
生活随笔
收集整理的這篇文章主要介紹了
[剑指offer][JAVA]面试题第[07]题[重建二叉树][递归]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【問題描述】[中等]
輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重復的數字。例如,給出前序遍歷 preorder = [3,9,20,15,7] 中序遍歷 inorder = [9,3,15,20,7] 返回如下的二叉樹:3/ \9 20/ \15 7【解答思路】
1. 遞歸解釋1
關鍵要理解
前序遍歷的左右子樹根節點 可以根據中序遍歷得到的左右子樹的長度推斷
時間復雜度:O(N) 空間復雜度:O(N)
2. 遞歸解釋2
時間復雜度:O(N) 空間復雜度:O(N)
【總結】
1.前中后序遍歷變化的是[中]的位置,左到右的順序不改變
- 前序遍歷 中左右
- 中序遍歷 左中右
- 后續遍歷 左右中
2.前序+中序遍歷可畫出原二叉樹
3. 多畫圖 寫寫寫 遍歷代碼 手撕變量 大腦保持清醒
轉載鏈接:https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/solution/mian-shi-ti-07-zhong-jian-er-cha-shu-di-gui-fa-qin/
來源:力扣(LeetCode)
轉載鏈接:https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/solution/er-cha-shu-de-qian-xu-bian-li-fen-zhi-si-xiang-by-/
來源:力扣(LeetCode)
總結
以上是生活随笔為你收集整理的[剑指offer][JAVA]面试题第[07]题[重建二叉树][递归]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 基础5
- 下一篇: WWDC2017 笔记 - Cocoa