106.Convert Sorted List to Balanced BST-排序列表转换为二分查找树(中等题)
来源:互联网 发布:阿里云服务器申请发票 编辑:程序博客网 时间:2024/06/05 07:08
排序列表转换为二分查找树
题目
给出一个所有元素以升序排序的单链表,将它转换成一棵高度平衡的二分查找树
样例
题解
/** * Definition for ListNode. * public class ListNode { * int val; * ListNode next; * ListNode(int val) { * this.val = val; * this.next = null; * } * } * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */ public class Solution { /** * @param head: The first node of linked list. * @return: a tree node */ private ListNode current; public TreeNode sortedListToBST(ListNode head) { current = head; int size = getListLength(head); return sortedListToBSTHelper(size); } private TreeNode sortedListToBSTHelper(int size) { if (size <= 0) { return null; } TreeNode left = sortedListToBSTHelper(size / 2); TreeNode root = new TreeNode(current.val); current = current.next; TreeNode right = sortedListToBSTHelper(size - 1 - size / 2); root.left = left; root.right = right; return root; } private int getListLength(ListNode head) { int size = 0; while (head != null) { size++; head = head.next; } return size; }}
Last Update 2016.10.9
0 0
- 106.Convert Sorted List to Balanced BST-排序列表转换为二分查找树(中等题)
- lintcode:Convert Sorted List to Balanced BST
- lintcode:Convert Sorted List to Balanced BST
- #106 Convert Sorted List to Balanced BST
- *[Lintcode]Convert Sorted List to Balanced BST
- Lintcode106 Convert Sorted List to Balanced BST solution 题解
- 排序列表转换为二分查找树
- 排序列表转换为二分查找树
- 排序列表转换为二分查找树
- 排序列表转换为二分查找树
- 排序列表转换为二分查找树
- [Leetcode] Convert Sorted List to BST
- Convert BST to Sorted Doubly-Linked List
- LeeCode 109.Convert Sorted List to Binary Search Tree(将排序链表转化为BST) 解题思路和方法
- [leetcode]Convert Sorted Array to Balanced Binary Search Tree (BST)
- leetCode 108.Convert Sorted Array to Binary Search Tree(将排序数组转换为BST) 解题思路和方法
- LintCode-排序列表转换为二分查找树
- lintcode-排序列表转换为二分查找树-106
- 第4课 Android开发工具——Gradle知识汇总
- codeforces 369C
- RecyclerView初步试用(一)
- C#读写文件总结
- Android中的图片缓存
- 106.Convert Sorted List to Balanced BST-排序列表转换为二分查找树(中等题)
- 排序算法(三)--关于快速排序Partition的思考
- 研究Opencv之一:环境安装配置篇
- 【机器视觉】图像视觉领域部分开源代码
- [心得]mysql基本命令整理
- Redis 菜鸟笔记(二)入门概述
- Red hat安装详解
- 管理口令(P):[INS-30011] 输入的 ADMIN 口令不符合 Oracle 建议的标准
- eclipse下调试ROS工程