LeetCode 109. 有序链表转换二叉搜索树(快慢指针+递归)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 109. 有序链表转换二叉搜索树(快慢指针+递归)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
給定一個單鏈表,其中的元素按升序排序,將其轉換為高度平衡的二叉搜索樹。
本題中,一個高度平衡二叉樹是指一個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/convert-sorted-list-to-binary-search-tree
類似題目 LeetCode 108. 將有序數組轉換為二叉搜索樹
2. 解題
- 類似的方法,快慢指針找到鏈表中點作為樹的 root
- 在中點前斷開鏈表,遞歸進行
- 遞歸終止條件 head 為空,返回 NULL,如果只有一個節點了(head = slow),直接返回head處的值建立的 root
總結
以上是生活随笔為你收集整理的LeetCode 109. 有序链表转换二叉搜索树(快慢指针+递归)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python gettext_pytho
- 下一篇: 数据结构--单链表single link