【LeetCode】Convert Sorted List to Binary Search Tree
来源:互联网 发布:异步网络框架 编辑:程序博客网 时间:2024/05/23 17:50
获取中间节点,注意要把链表断开成两个节点,如果节点个数为奇数,则返回最中间的节点,否则返回中间两个节点的前面那个节点
/** * 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 ListNode getMiddleNode(ListNode head){ if(head == null || head.next == null) return head; ListNode dummy = new ListNode(-1); dummy.next = head; ListNode fast = head,slow = head,pre = dummy; while(fast.next != null && fast.next.next != null){ pre = slow; slow = slow.next; fast = fast.next.next; } pre.next = null; return slow; } public TreeNode sortedListToBST(ListNode head) { if(head == null )return null; if(head.next == null) return new TreeNode(head.val); ListNode middle = getMiddleNode(head); if(head == middle) head = null;//防止栈溢出,当只有两个节点时候,middle=head节点,此时head应该置为null,表示左子树为空 TreeNode root = new TreeNode(middle.val); root.left = sortedListToBST(head); root.right = sortedListToBST(middle.next); return root; }}
0 0
- 【LeetCode】Convert Sorted Array to Binary Search Tree && Convert Sorted List to Binary Search Tree
- LeetCode[Tree]: Convert Sorted List to Binary Search Tree
- [leetcode][list][dfs] 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 Balanced 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 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
- 第10课第1节 内核启动流程分析之编译体验
- 01字串
- Java图形用户界面设计
- corenlp-python的README.md翻译
- Android 自定义View
- 【LeetCode】Convert Sorted List to Binary Search Tree
- 10进制转换为16进制
- 用swt做JAVA界面
- java 方法中可变参数的使用
- LeetCode[Linked List]: Intersection of Two Linked Lists
- Android学习之——入门启蒙
- “流支付”掀起互联网支付创新浪潮,SAK支付白皮书揭秘
- 前端编程提高之旅(十六)----jquery中的动画
- hdu2059——龟兔赛跑