二叉树专题(6)


109. 有序链表转换二叉搜索树 Convert-sorted-list-to-binary-search-tree


给定一个单链表的头节点  head ,其中的元素 按升序排序 ,将其转换为高度平衡的二叉搜索树。

本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差不超过 1。  


示例 1:

80f8827c2d2b19f4ba83a0feee624b1b.jpeg



输入: head = [-10,-3,0,5,9]

输出: [0,-3,9,-10,null,5]

解释: 一个可能的答案是[0,-3,9,-10,null,5],它表示所示的高度平衡的二叉搜索树。


示例 2:

输入: head = []

输出: []

提示:

   head 中的节点数在[0, 2 * 10^4] 范围内

   -10^5 <= Node.val <= 10^5

代码:


输出:

[0,-3,9,-10,null,5]

[]

110. 平衡二叉树 Balanced Binary Tree


给定一个二叉树,判断它是否是高度平衡的二叉树。


本题中,一棵高度平衡二叉树定义为:

一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

示例 1:

dbe9d03b5c5352130598edd18fca99a0.jpeg


输入:root = [3,9,20,null,null,15,7]

输出:true


示例 2:

d5173bffc9f2bc2aa807b99a235865d7.jpeg

输入:root = [1,2,2,3,3,null,null,4,4]

输出:false


示例 3:

输入:root = []

输出:true


提示:

   树中的节点数在范围 [0, 5000] 内

   -10^4 <= Node.val <= 10^4

代码:

输出:

true

false

true

111. 二叉树的最小深度 Minimum Depth of Binary Tree


给定一个二叉树,找出其最小深度。

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。


说明:叶子节点是指没有子节点的节点。

示例 1:

c249927bea1319c369833f66c69e9f2c.jpeg

输入:root = [3,9,20,null,null,15,7]

输出:2


示例 2:

输入:root = [2,null,3,null,4,null,5,null,6]

输出:5

提示:

   树中节点数的范围在 [0, 10^5] 内

   -1000 <= Node.val <= 1000


代码:



输出:

2

5