LeetCode刷題記63-109. 有序連結串列轉換二叉搜尋樹【檢視解法】
LeetCode刷題記63
109. 有序連結串列轉換二叉搜尋樹
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
public TreeNode F(List<Integer> list, int l, int r) {
if (l > r) {
return null;
}
if (l == r) {
return new TreeNode(list.get(l));
}
int m = (l + r) / 2;
TreeNode root = new TreeNode(list.get(m));
root.left = F(list, l, m - 1);
root.right = F(list, m + 1, r);
return root;
}
public TreeNode sortedListToBST(ListNode head) {
List<Integer> list = new ArrayList<Integer>();
while (head != null) {
list.add(head.val);
head = head.next;
}
return F(list, 0, list.size() - 1);
}
}
偷懶的做法就是把連結串列轉成陣列。
就和之前一個題目 (忘記了是哪一個)一樣的。
這個解法
比較好,mark一下。
5/5
63/150
相關文章
- LeetCode系列之「有序連結串列轉換二叉搜尋樹」LeetCode
- LeetCode-109-有序連結串列轉換二叉搜尋樹LeetCode
- LeetCode 109——有序連結串列轉化二叉搜尋樹LeetCode
- 466. 使用快慢指標把有序連結串列轉換二叉搜尋樹指標
- 【連結串列問題】打卡10:將搜尋二叉樹轉換成雙向連結串列二叉樹
- LeetCode 108. 將有序陣列轉換為二叉搜尋樹LeetCode陣列
- LeetCode-108-將有序陣列轉換為二叉搜尋樹LeetCode陣列
- leetcode 108.將有序陣列轉換為二叉搜尋樹 JavaLeetCode陣列Java
- LeetCode將有序陣列轉化為二叉搜尋樹--JavaLeetCode陣列Java
- Python教程:將有序陣列轉換為二叉搜尋樹Python陣列
- Leetcode刷題筆記 501. 二叉搜尋樹中的眾數LeetCode筆記
- 面試題36:二叉搜尋樹與雙向連結串列面試題
- 程式碼隨想錄 第23天 | 669. 修剪二叉搜尋樹 ● 108.將有序陣列轉換為二叉搜尋樹 ● 538.把二叉搜尋樹轉換為累加樹 ● 總結篇陣列
- 程式碼隨想錄演算法訓練營day23 | leetcode 669. 修剪二叉搜尋樹、108. 將有序陣列轉換為二叉搜尋樹、538. 把二叉搜尋樹轉換為累加樹演算法LeetCode陣列
- 有序表和搜尋二叉樹二叉樹
- LeetCode刷題記125-148. 排序連結串列LeetCode排序
- JZ-026-二叉搜尋樹與雙向連結串列
- 【LeetCode二叉樹#17】在二叉搜尋樹中插入或刪除某個值(涉及重構二叉樹、連結串列基礎、以及記憶體洩漏問題)LeetCode二叉樹記憶體
- 程式碼隨想錄演算法訓練營,9月17日 | 669. 修剪二叉搜尋樹,108.將有序陣列轉換為二叉搜尋樹,538.把二叉搜尋樹轉換為累加樹演算法陣列
- 程式碼隨想錄演算法訓練營第23天 | 669. 修剪二叉搜尋樹、108.將有序陣列轉換為二叉搜尋樹、538.把二叉搜尋樹轉換為累加樹演算法陣列
- Hash連結串列轉換為紅黑樹,和樹轉換為連結串列的條件
- 2020.12.21-2020.12.27 leetcode刷題總結(拓撲排序&蓄水池抽樣&二叉搜尋樹&線段樹)LeetCode排序
- 【LeetCode-連結串列】面試題-反轉連結串列LeetCode面試題
- leetcode 刷題視訊(5) - 二叉樹與圖LeetCode二叉樹
- LeetCode-114-二叉樹展開為連結串列LeetCode二叉樹
- leetcode刷題.143. 重排連結串列.每日打卡LeetCode
- Leetcode 700. 二叉搜尋樹中的搜尋(DAY 2)LeetCode
- Python演算法練習--把搜尋樹轉成雙向連結串列Python演算法
- leetcode:21. 合併兩個有序連結串列(連結串列,簡單)LeetCode
- LeetCode 95 | 構造出所有二叉搜尋樹LeetCode
- LeetCode98. 驗證二叉搜尋樹LeetCode
- LeetCode-098-驗證二叉搜尋樹LeetCode
- LeetCode-099-恢復二叉搜尋樹LeetCode
- 【LeetCode】98. 驗證二叉搜尋樹LeetCode
- LeetCode-096-不同的二叉搜尋樹LeetCode
- LeetCode-173-二叉搜尋樹迭代器LeetCode
- leetcode 反轉連結串列LeetCode
- 二叉搜尋樹的結構