109. Convert Sorted List to Binary Search Tree
来源:互联网 发布:js embed 属性 编辑:程序博客网 时间:2024/05/01 10:03
一开始没有考虑建立一棵BST树,按照前序遍历的方式建立了一棵树,只不过加上了平衡的条件,使得树的深度限制在一个阈值内。但是要建立一棵BST树的话,需要从中序遍历的角度建一棵树,这还是我第一次利用中序建立树。主要是利用了BST的性质,每次对分数据,建树。
最终AC代码:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; *//** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: //left=0;right=nums.size()-1; TreeNode* func(int left,int right,vector<int>& nums) { if(left<=right) { int mid=left+(right-left)/2; TreeNode* root=new TreeNode(nums[mid]); root->left=func(left,mid-1,nums); root->right=func(mid+1,right,nums); return root; } else return NULL; } TreeNode* sortedListToBST(ListNode* head) { vector<int> nums; ListNode* temp=head; while(temp!=NULL) { nums.push_back(temp->val); temp=temp->next; } if(nums.size()==0) return NULL; TreeNode* root=func(0,nums.size()-1,nums); return root; }};
0 0
- Tree-----109. Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- convert sorted list to binary search tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- 线程和进程之间传递数据
- 第一次装Linux-Ubuntu
- Leetcode上和DFS有关题目整理 (内含目录)
- 图像后处理——取图像中最大连接部分
- ECshop商城开发系列视频教程后盾网VIP课程
- 109. Convert Sorted List to Binary Search Tree
- 带你了解安卓学习的刚开始———UI安卓《手机信息页面》
- 一些事情超过预期。
- L2-005. 集合相似度
- Code for K-Means
- php项目-美团网开发
- 深入分析Java的序列化与反序列化
- 2014燕十八PHP高性能架构班
- 46. Permutations【LeetCode算法之旅之DFS】