Convert Sorted List to Binary Search Tree - Leetcode
2015-02-26 12:46
369 查看
/** * 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; ListNode fast = head, slow = head, prev = slow; if(head.next == null){ slow = head; return new TreeNode(slow.val); } else if(head.next.next == null) { prev = slow; slow = slow.next; }else{ while(fast.next!=null && fast.next.next!=null){ prev = slow; slow = slow.next; fast = fast.next.next; } } prev.next = null; ListNode head2 = slow.next; slow.next = null; TreeNode root = new TreeNode(slow.val); root.left = sortedListToBST(head); root.right = sortedListToBST(head2); return root; } }
分析:跟array 思路一样,然后因为是list,就用一个双速指针找到中值,然后及时切断前后连接。构造树。
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
相关文章推荐
- [leetcode]Convert Sorted List to Binary Search Tree
- Leetcode: Convert Sorted List to Binary Search Tree
- LeetCode : Convert Sorted List to Binary Search Tree
- LeetCode-Convert Sorted List to Binary Search Tree
- [Leetcode] Convert Sorted List to Binary Search Tree
- [Leetcode]Convert Sorted List to Binary Search Tree
- [leetcode] Convert Sorted List to Binary Search Tree
- [LeetCode] Convert Sorted List to Binary Search Tree
- leetcode Convert Sorted List to Binary Search Tree
- leetcode Convert Sorted List to Binary Search Tree
- leetcode--Convert Sorted List to Binary Search Tree
- [LeetCode]Convert Sorted List to Binary Search Tree
- LeetCode: Convert Sorted List to Binary Search Tree
- LeetCode: Convert Sorted List to Binary Search Tree
- leetcode Convert Sorted List to Binary Search Tree
- LeetCode - Convert Sorted List to Binary Search Tree
- leetcode 66: Convert Sorted List to Binary Search Tree
- LeetCode_Convert Sorted List to Binary Search Tree
- [LeetCode 109] - 将已排序链表转换为二叉搜索树 (Convert Sorted List to Binary Search Tree)
- [LeetCode] Convert Sorted List to Binary Search Tree