Convert Sorted List to Binary Search Tree (递增的链表转化成高度平衡的二叉查找树)【leetcode】
来源:互联网 发布:网络舆情试题 编辑:程序博客网 时间:2024/05/16 18:27
题目:Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST
给一个递增的链表,转化成高度平衡的二叉查找树。
先遍历一边算出链表的个数,在递归求解。
注意就是左右字数划分的范围,还有右子树的头指针需要求出。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; *//** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode *sortedListToBST(ListNode *head) { int n=0; ListNode *p=head; while(p!=NULL)n++,p=p->next; return build(head,n); } TreeNode *build(ListNode *head,int n) { if(head==NULL||n==0)return NULL; ListNode *p=head; for(int i=1;i<(n+1)/2;++i)p=p->next; TreeNode *root=new TreeNode(p->val); root->left=build(head,(n+1)/2-1); root->right=build(p->next,n-(n+1)/2); }};
- Convert Sorted List to Binary Search Tree (递增的链表转化成高度平衡的二叉查找树)【leetcode】
- 有序递增链表转化为平衡的二叉搜索树(LeetCode: Convert Sorted List to Binary Search Tree )
- Convert Sorted Array to Binary Search Tree (递增数组建高度平衡的二叉查找树)【leetcode】
- Leetcode#108. Convert Sorted Array to Binary Search Tree (平衡二叉查找树)
- LeetCode | Convert Sorted List to Binary Search Tree(链表转换成二叉搜索树)
- LeetCode Convert Sorted List to Binary Search Tree(有序单链表转为平衡二叉树)
- LeetCode OJ 之 Convert Sorted List to Binary Search Tree(把有序链表转化为二叉搜索树)
- 109.leetcode Convert Sorted List to Binary Search Tree(medium)[链表 平衡二叉搜索树 二分查找]
- leetcode 109. Convert Sorted List to Binary Search Tree 链表构造平衡二叉搜索树 + DFS
- [LeetCode]108. Convert Sorted Array to Binary Search Tree(升序数组转化为平衡二叉树)
- Leetcode 108 Convert Sorted Array to Binary Search Tree 有序数组构造平衡二叉查找树
- Convert Sorted List to Binary Search Tree 将有序链表转化为平衡二叉排序树
- LeetCode--Convert Sorted Array to Binary Search Tree(平衡二叉搜索树)
- Leetcode Convert Sorted List to Binary Search Tree 把有序链表转换成二叉搜索树
- 108.leetcode Convert Sorted Array to Binary Search Tree(medium)[数组 二分查找 二叉平衡搜索树]
- LeetCode | Convert Sorted Array to Binary Search Tree(有序数组转换成平衡二叉树搜索树)
- Leetcode 109 Convert Sorted List to Binary Search Tree 有序单链表构造平衡二插查找树
- LeetCode 109. Convert Sorted List to Binary Search Tree(链表到二叉搜索树)
- 数据库 基础 笔记
- class类的sizeof计算
- 大数据量生成脚本及导入策略
- Linux----shell的执行权限
- C#使用流读取文件中的数据
- Convert Sorted List to Binary Search Tree (递增的链表转化成高度平衡的二叉查找树)【leetcode】
- 排序算法实现
- Android工程改名出现错误
- SpringMVC注解入门(一)
- 数据库事务嵌套
- 编程珠玑之第一章习题5:k趟算法给1000w数据排序的测试用例
- 【转载】【leetcode】Longest Substring Without Repeating Characters
- 动态规划之最长子序列和最长子串
- Java案例