當(dāng)前位置:
首頁(yè) >
二叉树前序中序后序_leetcode889_go_根据前序和后序遍历构造二叉树
發(fā)布時(shí)間:2024/10/14
32
豆豆
生活随笔
收集整理的這篇文章主要介紹了
二叉树前序中序后序_leetcode889_go_根据前序和后序遍历构造二叉树
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
leetcode889_根據(jù)前序和后序遍歷構(gòu)造二叉樹
01
—
題目
返回與給定的前序和后序遍歷匹配的任何二叉樹。
pre 和 post 遍歷中的值是不同的正整數(shù)。
示例:輸入:pre = [1,2,4,5,3,6,7], post = [4,5,2,6,7,3,1] 輸出:[1,2,3,4,5,6,7]
提示:1 <= pre.length == post.length <= 30
pre[] 和 post[] 都是 1, 2, ..., pre.length 的排列
每個(gè)輸入保證至少有一個(gè)答案。如果有多個(gè)答案,可以返回其中一個(gè)。
02
—
解題思路分析
1、遞歸;時(shí)間復(fù)雜度O(n^2),空間復(fù)雜度O(n)
func constructFromPrePost(pre []int, post []int) *TreeNode { if len(pre) == 0 { return nil } root := &TreeNode{ Val: pre[0], } if len(pre) == 1 { return root } index := len(pre) for i := 0; i < len(post); i++ { if post[i] == pre[1] { index = i break } } root.Left = constructFromPrePost(pre[1:index+2], post[:index+1]) root.Right = constructFromPrePost(pre[index+2:], post[index+1:]) return root}03
—
總結(jié)
Medium題目,二叉樹題目,構(gòu)造系列題目leetcode 105.從前序與中序遍歷序列構(gòu)造二叉樹leetcode 106.從中序與后序遍歷序列構(gòu)造二叉樹
總結(jié)
以上是生活随笔為你收集整理的二叉树前序中序后序_leetcode889_go_根据前序和后序遍历构造二叉树的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 简易计算器里的小数点在程序中怎么表示_财
- 下一篇: 手机屏幕镜像翻转软件_可以把ipad投屏