109. Convert Sorted List to Binary Search Tree
题目
原始地址:https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/#/description
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val = x; }* }*/
public class Solution {public TreeNode sortedListToBST(ListNode head) {}
}
描述
给定一个按照升序排序的单链表,将它转换成一个高度平衡的二叉搜索树。
分析
如果要保持二叉搜索树高度平衡,那么要求插入的顺序和二叉树按层遍历的顺序是一致的,也即每次都找到链表的中间节点并插入,并将中间节点的两侧分成两个子链表分别转换成中间节点的左右子树,如此递归进行。
解法
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val = x; }* }*/
public class Solution {public TreeNode sortedListToBST(ListNode head) {return insertNode(head, null);}private TreeNode insertNode(ListNode head, ListNode tail) {if (head == null || head == tail) {return null;}ListNode fast = head, slow = head;while (fast != tail && fast.next != tail) {fast = fast.next.next;slow = slow.next;}TreeNode root = new TreeNode(slow.val);root.left = insertNode(head, slow);root.right = insertNode(slow.next, tail);return root;}
}
转载于:https://www.cnblogs.com/fengdianzhang/p/6826770.html
109. Convert Sorted List to Binary Search Tree相关推荐
- 【链表递归构造二叉树】LeetCode 109. Convert Sorted List to Binary Search Tree
LeetCode 109. Convert Sorted List to Binary Search Tree Solution1:我的答案 偷鸡摸狗的做法 /*** Definition for s ...
- LeetCode: 109. Convert Sorted List to Binary Search Tree
题目 Given a singly linked list where elements are sorted in ascending order, convert it to a height b ...
- 【leetcode】109. Convert Sorted List to Binary Search Tree
题目如下: Given a singly linked list where elements are sorted in ascending order, convert it to a heigh ...
- LeetCode 109. Convert Sorted List to Binary Search Tree
Given a singly linked list where elements are sorted in ascending order, convert it to a height bala ...
- Convert Sorted Array to Binary Search Tree - LeetCode
目录 题目链接 注意点 解法 小结 题目链接 Convert Sorted Array to Binary Search Tree - LeetCode 注意点 不要访问空结点 题目要求的是平衡二叉搜 ...
- leetcode -day19 Convert Sorted List to Binary Search Tree
1. Convert Sorted List to Binary Search Tree Given a singly linked list where elements are sorted ...
- LeetCode: Convert Sorted Array to Binary Search Tree 解题报告
Convert Sorted Array to Binary Search Tree Given an array where elements are sorted in ascending ord ...
- 【数组递归构造二叉树】LeetCode 108. Convert Sorted Array to Binary Search Tree
LeetCode 108. Convert Sorted Array to Binary Search Tree Solution1:我的答案 构造二叉树利用递归 /*** Definition fo ...
- [LeetCode] Convert Sorted Array to Binary Search Tree
Given an array where elements are sorted in ascending order, convert it to a height balanced BST. Hi ...
最新文章
- Chapter12:动态内存
- jQuery 操作 DOM
- pyotrch nn.Conv2d中groups参数的理解
- 【采用-决策引擎】一文看懂风控决策引擎搭建思路
- shiro教程(1)-基于url权限管理
- 详解协同感知数据集OPV2V: An Open Benchmark Dataset and Fusion Pipeline for Perception with V2V Communication
- Caused by: org.springframework.boot.web.server.PortInUseException: Port 8081 is already in use 端口占用
- 静态方法和实例方法(mark)
- 16.定位模板,布局和样式
- 深度学习在时空大数据分析中的应用
- Python使用-错误“name ‘requests‘ is not defined”的探查
- 数字逻辑——七段数码管
- 怎么用浏览器访问计算机文件共享,如何用ES文件浏览器完全共享电脑里的文件流程...
- centos 安装Htseq_APPNode管理面板安装使用教材
- 基于MSP430G2553点亮TM1637数码管
- 联发科、联芯TD合作后期走势分析
- 广和通5G模组FM150-AE在树莓派+Ubuntu22.04 LTS系统下即插即用免驱免拨号演示
- 【前端系列教程之HTML5】06_HTML5新标签
- Surface book2 1060显卡性能较低的解决方法
- PHP 伪静态规则、写法