[LeetCode] 109. Convert Sorted List to Binary Search Tree
来源:互联网 发布:单身生活 知乎 编辑:程序博客网 时间:2024/06/05 11:56
思路:
这题很有趣, 因为数据存储的结构是链表, 所以为了避免每次都从头访问元素, 我们用一个全局变量temp存储我们当前应该访问的链表节点. 所以思路是先计算一下链表的大小, 然后进行递归, 先单独处理左子树, 然后每次添加左边树节点结束后, 要把全局变量temp向后挪一位, 这样左子树都遍历完了以后temp也会停到root的位置了, 然后遍历后面的元素. 这个方法很巧妙, 来源自https://discuss.leetcode.com/topic/8141/share-my-o-1-space-and-o-n-time-java-code.
TreeNode* helper(ListNode*& temp, int start, int end) { if (start > end) return NULL; int mid = (start + end + 1) >> 1; TreeNode* left = helper(temp, start, mid - 1); TreeNode* root = new TreeNode(temp->val); temp = temp->next; root->left = left; root->right = helper(temp, mid + 1, end); return root;}TreeNode* sortedListToBST(ListNode* head) { int size = 0; ListNode* temp = head; while (temp) { size++; temp = temp->next; } temp = head; return helper(temp, 0, size - 1);}
0 0
- LeetCode 109. Convert Sorted List to Binary Search Tree
- [LeetCode]109.Convert Sorted List to Binary Search Tree
- 109.Convert Sorted List to Binary Search Tree Leetcode Python
- [Leetcode] 109. Convert Sorted List to Binary Search Tree
- LeetCode --- 109. Convert Sorted List to Binary Search Tree
- [leetcode] 109.Convert Sorted List to Binary Search Tree
- 109. Convert Sorted List to Binary Search Tree LeetCode
- [leetcode] 109. Convert Sorted List to Binary Search Tree
- Leetcode 109. Convert Sorted List to Binary Search Tree
- [LeetCode]109. Convert Sorted List to Binary Search Tree
- LeetCode *** 109. Convert Sorted List to Binary Search Tree
- LeetCode 109. Convert Sorted List to Binary Search Tree
- LeetCode - 109. Convert Sorted List to Binary Search Tree
- Leetcode 109. Convert Sorted List to Binary Search Tree
- [leetcode] 109. Convert Sorted List to Binary Search Tree
- [LeetCode] 109. Convert Sorted List to Binary Search Tree
- Leetcode-109. Convert Sorted List to Binary Search Tree
- 【leetcode】109. Convert Sorted List to Binary Search Tree
- Codeforces刷题之路——339A Helpful Maths
- Scheme
- The environment variable JAVA_HOME(with the value of xxx) does not point to a valid JVM installation
- java发送http的get、post请求
- 今天我新注册了博客
- [LeetCode] 109. Convert Sorted List to Binary Search Tree
- py-faster-rcnn用自己的数据训练模型
- Git学习(二)
- 完成一个分析H264码流的工具
- LIME:一种解释机器学习模型的方法
- Hibernate 查询
- 2016.8.25--对HTTP协议的一些理解
- Lvs之NAT、DR、TUN三种模式的应用配置案例
- 【pku2441】Arrange the Bulls