Convert Sorted List to Binary Search Tree [leetcode] O(n)的算法
来源:互联网 发布:村招募淘宝com报名网站 编辑:程序博客网 时间:2024/06/07 06:20
主要的思想类似中序遍历,先构建左子树,再构建当前节点,并构建右子树
TreeNode *sortedListToBST(ListNode *head) { int count = 0; ListNode * cur = head; while (cur) { count++; cur = cur->next; } return sortedListToBST(head, count); } TreeNode *sortedListToBST(ListNode * (&head), int count) { if (count <= 0) return NULL; TreeNode* left = sortedListToBST(head, count / 2 ); TreeNode * root = new TreeNode(head->val); head = head->next; root->left = left; root->right = sortedListToBST(head, count - (count / 2) - 1); return root; }
还有一个类似的题目:将二叉搜索树转换成双向链表
同样是类似中序遍历,先将左子树变成双向链表,再处理右子树
代码如下:
void BSTToList(TreeNode * t, ListNode * &l){if (t->left) BSTToList(t->left, l);ListNode * cur = new ListNode(t->val);cur->left = l;if (!l) l->right = cur;l = cur;if (t->right) BSTToList(t->right, l);}
0 0
- Convert Sorted List to Binary Search Tree [leetcode] O(n)的算法
- 【LeetCode】Convert Sorted Array to Binary Search Tree && Convert Sorted List to Binary Search Tree
- LeetCode[Tree]: Convert Sorted List to Binary Search Tree
- [leetcode][list][dfs] Convert Sorted List to Binary Search Tree
- LeetCode: Convert Sorted List to Binary Search Tree
- [LeetCode]Convert Sorted List to Binary Search Tree
- LeetCode : Convert Sorted List to Binary Search Tree
- [Leetcode] Convert Sorted List to Binary Search Tree
- Leetcode: Convert Sorted List to Balanced Binary Search Tree
- [LeetCode] Convert Sorted List to Binary Search Tree
- leetcode 66: Convert Sorted List to Binary Search Tree
- leetcode Convert Sorted List to Binary Search Tree
- LeetCode Convert Sorted List to Binary Search Tree
- leetcode Convert Sorted List to Binary Search Tree
- LeetCode:Convert Sorted List to Binary Search Tree
- [LeetCode]Convert Sorted List to Binary Search Tree
- [Leetcode]Convert Sorted List to Binary Search Tree
- [leetcode]Convert Sorted List to Binary Search Tree
- gsoap编译与简单使用
- Java JDBC学习实战(一): JDBC的基本操作
- nodemanager启动报Cannot convert identity certificate
- 14个HTML5实现的效果合集
- CF 366 C. Dima and Salad
- Convert Sorted List to Binary Search Tree [leetcode] O(n)的算法
- Aix内存优化
- spring MVC url-pattern的/和/*有区别
- 操作系统fork介绍
- 枚举特性标记和基本处理类及应用
- 几个电商的好文章
- 【Tools.Eclipse】Resource is out of sync with the file system解决办法
- elicpse如何查看jdk源码
- C语言与GLSL语言中struct的差别