LeetCode 1008. 先序遍历构造二叉树(已知先序,求二叉搜索树)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1008. 先序遍历构造二叉树(已知先序,求二叉搜索树)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
返回與給定先序遍歷 preorder 相匹配的二叉搜索樹(binary search tree)的根結(jié)點(diǎn)。
示例:輸入:[8,5,1,7,10,12],已知二叉搜索樹的先序(根左右) 輸出:[8,5,10,1,7,null,12],建立二叉搜索樹,返回其root2. 解題
- 辦法1:排序后就是搜索樹的中序,那已知先序和中序,可唯一確定樹
- 辦法2:利用二叉搜索樹的性質(zhì),左子樹所有的值都小于root,右子樹都大于root
- 在先序里第一個(gè)是根節(jié)點(diǎn)的值,然后后面跟著的比它小的是左子樹,有大的出現(xiàn)了,就是右子樹部分的
- 遞歸進(jìn)行上面步驟
總結(jié)
以上是生活随笔為你收集整理的LeetCode 1008. 先序遍历构造二叉树(已知先序,求二叉搜索树)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法--排序--大小写字母数字分离(桶排
- 下一篇: LeetCode 171. Excel表