LeetCode(109) Convert Sorted List to Binary Search Tree
2015-12-13 09:44
423 查看
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
解题思路:
将节点转化为数组,然后递归求解
解题思路:
将节点转化为数组,然后递归求解
public class Solution { public TreeNode sortedListToBST(ListNode head) { if(head == null) return null; ArrayList nums = new ArrayList<Integer>(); while(head != null){ nums.add(head.val); head = head.next; } return sortArrayToBST(nums,0,nums.size()); } public TreeNode sortArrayToBST(List nums,int start,int end){ if(end < start) return null; int mid = (start+end)/2; TreeNode root = new TreeNode((int)nums.get(mid)); root.left = sortArrayToBST(nums,start,mid-1); root.right = sortArrayToBST(nums,mid+1,end); return root; } }
相关文章推荐
- 重载和重写的定义
- bootstrap按钮组(二)
- 写一个简易web服务器、ASP.NET核心知识(4)--转载
- 神经网络入门
- CMAKE MYSQL
- Cordova:插件测试小结-cordova-plugin-test-framework
- Android Holo Theme的三种表现形式
- Linux 常用快捷键
- 方法的重载与重写有什么区别?
- Java中有返回值的线程,(缓存)线程池的初步使用
- 懒加载异常的解决办法
- Mysql数据导入测试
- Eclipse 新建Servlet出错问题
- 好友列表
- CSS-页面滑屏滚动原理
- 经验之谈—initWithFrame;initWithCoder;awakeFromNib
- [leetcode] Perfect Squares
- rsync远程同步
- Hyper-v Server检查点(虚拟机快照) 推荐
- 多线程循环批量处理以及多线程操作文件写入相关思路