mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-11 02:58:13 +08:00
52 lines
2.3 KiB
HTML
52 lines
2.3 KiB
HTML
<p>给定<strong>循环单调非递减列表</strong>中的一个点,写一个函数向这个列表中插入一个新元素 <code>insertVal</code> ,使这个列表仍然是循环升序的。</p>
|
||
|
||
<p>给定的可以是这个列表中任意一个顶点的指针,并不一定是这个列表中最小元素的指针。</p>
|
||
|
||
<p>如果有多个满足条件的插入位置,可以选择任意一个位置插入新的值,插入后整个列表仍然保持有序。</p>
|
||
|
||
<p>如果列表为空(给定的节点是 <code>null</code>),需要创建一个循环有序列表并返回这个节点。否则。请返回原先给定的节点。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<p><img alt="" src="https://assets.leetcode.com/uploads/2019/01/19/example_1_before_65p.jpg" style="height: 149px; width: 250px;" /><br />
|
||
</p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>head = [3,4,1], insertVal = 2
|
||
<strong>输出:</strong>[3,4,1,2]
|
||
<strong>解释:</strong>在上图中,有一个包含三个元素的循环有序列表,你获得值为 3 的节点的指针,我们需要向表中插入元素 2 。新插入的节点应该在 1 和 3 之间,插入之后,整个列表如上图所示,最后返回节点 3 。
|
||
|
||
<img alt="" src="https://assets.leetcode.com/uploads/2019/01/19/example_1_after_65p.jpg" style="height: 149px; width: 250px;" />
|
||
</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>head = [], insertVal = 1
|
||
<strong>输出:</strong>[1]
|
||
<strong>解释:</strong>列表为空(给定的节点是 <code>null</code>),创建一个循环有序列表并返回这个节点。
|
||
</pre>
|
||
|
||
<p><strong>示例 3:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>head = [1], insertVal = 0
|
||
<strong>输出:</strong>[1,0]
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>0 <= Number of Nodes <= 5 * 10^4</code></li>
|
||
<li><code><font face="monospace">-10^6 <= Node.val <= 10^6</font></code></li>
|
||
<li><code>-10^6 <= insertVal <= 10^6</code></li>
|
||
</ul>
|
||
|
||
<p> </p>
|
||
|
||
<p><meta charset="UTF-8" />注意:本题与主站 708 题相同: <a href="https://leetcode-cn.com/problems/insert-into-a-sorted-circular-linked-list/">https://leetcode-cn.com/problems/insert-into-a-sorted-circular-linked-list/</a></p>
|