Convert Sorted List to Binary Search Tree
来源:互联网 发布:淘宝全景图 编辑:程序博客网 时间:2024/05/21 15:04
Q:
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
Solution:
Recursive call.
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; next = null; } * } *//** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public TreeNode sortedListToBST(ListNode head) { if (head == null) return null; if (head.next == null) { TreeNode one = new TreeNode(head.val); one.left = null; one.right = null; return one; } ListNode slow = head; ListNode fast = head.next.next; while (fast != null && fast.next != null) { slow = slow.next; fast = fast.next.next; } ListNode mid = slow.next; ListNode head2 = mid.next; slow.next = null; mid.next = null; TreeNode leftNode = sortedListToBST(head); TreeNode rightNode = sortedListToBST(head2); TreeNode root = new TreeNode(mid.val); root.left = leftNode; root.right = rightNode; return root; }}
0 0
- 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
- 1012 最大公约数和最小公倍数问题
- 总结javascript数组的14个常用方法(带实例)
- ScrollView中的onScrollChanged
- ReportStudio进阶教程(十四) - 图表-增加主轴
- static作用(修饰函数、局部变量、全局变量)
- Convert Sorted List to Binary Search Tree
- from module import 和 import 的区别
- OpenStack Load Balancer LBaaS
- Android学习笔记:TabHost 和 FragmentTabHost
- 理解和配置 Linux 下的 OOM Killer
- 谈论软件体系结构的风格
- js效果代码汇总
- javascript Image 对象触发 Get 请求
- 事务:事务概述