【LEETCODE】109-Convert Sorted List to Binary Search Tree
2015-11-09 17:16
435 查看
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution(object): def sortedarrayToBST(self,array): length=len(array) if length==0: return None if length==1: return TreeNode(array[0]) root=TreeNode(array[int(length/2)]) root.left=self.sortedarrayToBST(array[:int(length/2)]) root.right=self.sortedarrayToBST(array[int(length/2)+1:]) return root def sortedListToBST(self, head): """ :type head: ListNode :rtype: TreeNode """ array=[] p=head while p: array.append(p.val) #把linkedlist转换成array,然后可以取值建tree p=p.next return self.sortedarrayToBST(array)
相关文章推荐
- python中的数据类型与json的数据类型之间的转化
- Jquery操作table
- Kafka原理与java simple producer示例
- php对二维数组进行相关操作(排序、转换、去空白等)
- 项目2--用二叉树求解代数表达式
- qt 中窗口以及窗口部件背景图案的设置
- 在终端输入多行信息,找出包含“ould”的行,并打印改行
- Chipmunk僵尸物理对象的出现和解决(六)
- Chipmunk僵尸物理对象的出现和解决(六)
- Chipmunk僵尸物理对象的出现和解决(六)
- 高山仰止-从微分几何角度浅谈陈省身示性类
- IOS-25-xib由原来的UIViewController改为UIView后程序崩溃
- 三种交换两个数字的方法
- 转:js小技巧 ,将彻底屏蔽鼠标右键,可用于Table ,取消选取、防止复制,IE地址栏前换成自己的图标
- Python 文件编码(文件乱码)
- Reader And Writer
- c:for 标签的问题javax.servlet.jsp.jstl.core.LoopTagStatus
- 如何扩展 Visual Studio 编辑器
- Block定义与使用
- 网站优化必备的9个Firefox插件