1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-09-07 00:11:41 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee

存量题库数据更新

This commit is contained in:
2023-12-09 18:42:21 +08:00
parent a788808cd7
commit c198538f10
10843 changed files with 288489 additions and 248355 deletions

View File

@@ -1,56 +1,45 @@
<p>在一个 m*n 的二维字符串数组中输出二叉树,并遵守以下规则:</p>
<p>给你一棵二叉树的根节点 <code>root</code> ,请你构造一个下标从 <strong>0</strong> 开始、大小为 <code>m x n</code> 的字符串矩阵 <code>res</code> ,用以表示树的 <strong>格式化布局</strong> 。构造此格式化布局矩阵需要遵循以下规则:</p>
<ol>
<li>行数&nbsp;<code>m</code>&nbsp;应当等于给定二叉树的高度</li>
<li>列数&nbsp;<code>n</code>&nbsp;应当总是奇数</li>
<li>根节点的值(以字符串格式给出)应当放在可放置的第一行正中间。根节点所在的行与列会将剩余空间划分为两部分(<strong>左下部分和右下部分</strong>)。你应该将左子树输出在左下部分,右子树输出在右下部分。左下和右下部分应当有相同的大小。即使一个子树为空而另一个非空,你不需要为空的子树输出任何东西,但仍需要为另一个子树留出足够的空间。然而,如果两个子树都为空则不需要为它们留出任何空间</li>
<li>每个未使用的空间应包含一个空的字符串<code>&quot;&quot;</code></li>
<li>使用相同的规则输出子树</li>
</ol>
<ul>
<li>树的 <strong>高度</strong><code>height</code> ,矩阵的行数 <code>m</code> 应该等于 <code>height + 1</code> </li>
<li>矩阵的列数 <code>n</code> 应该等于 <code>2<sup>height+1</sup> - 1</code> </li>
<li><strong>根节点</strong> 需要放置在 <strong>顶行</strong><strong>正中间</strong> ,对应位置为 <code>res[0][(n-1)/2]</code> </li>
<li>对于放置在矩阵中的每个节点,设对应位置为 <code>res[r][c]</code> ,将其左子节点放置在 <code>res[r+1][c-2<sup>height-r-1</sup>]</code> ,右子节点放置在 <code>res[r+1][c+2<sup>height-r-1</sup>]</code> </li>
<li>继续这一过程,直到树中的所有节点都妥善放置</li>
<li>任意空单元格都应该包含空字符串 <code>""</code></li>
</ul>
<p><strong>示例 1:</strong></p>
<p>返回构造得到的矩阵<em> </em><code>res</code></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<img alt="" src="https://assets.leetcode.com/uploads/2021/05/03/print1-tree.jpg" style="width: 141px; height: 181px;" />
<pre>
<strong>输入:</strong>
1
/
2
<strong>输出:</strong>
[[&quot;&quot;, &quot;1&quot;, &quot;&quot;],
[&quot;2&quot;, &quot;&quot;, &quot;&quot;]]
<strong>输入</strong>root = [1,2]
<strong>输出:</strong>
[["","1",""],
&nbsp;["2","",""]]
</pre>
<p><strong>示例 2:</strong></p>
<p><strong>示例 2</strong></p>
<img alt="" src="https://assets.leetcode.com/uploads/2021/05/03/print2-tree.jpg" style="width: 207px; height: 302px;" />
<pre>
<strong>输入:</strong>
1
/ \
2 3
\
4
<strong>输出:</strong>
[[&quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;1&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;],
[&quot;&quot;, &quot;2&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;3&quot;, &quot;&quot;],
[&quot;&quot;, &quot;&quot;, &quot;4&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;]]
<strong>输入</strong>root = [1,2,3,null,4]
<strong>输出:</strong>
[["","","","1","","",""],
&nbsp;["","2","","","","3",""],
&nbsp;["","","4","","","",""]]
</pre>
<p><strong>示例 3:</strong></p>
<p>&nbsp;</p>
<pre>
<strong>输入:</strong>
1
/ \
2 5
/
3
/
4
<strong>输出:</strong>
[[&quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;1&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;]
[&quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;2&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;5&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;]
[&quot;&quot;, &quot;3&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;]
[&quot;4&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;, &quot;&quot;]]
</pre>
<p><strong>提示:</strong></p>
<p><strong>注意:</strong> 二叉树的高度在范围 [1, 10] 中。</p>
<ul>
<li>树中节点数在范围 <code>[1, 2<sup>10</sup>]</code></li>
<li><code>-99 &lt;= Node.val &lt;= 99</code></li>
<li>树的深度在范围 <code>[1, 10]</code></li>
</ul>