Skip to content

Commit 73cf28a

Browse files
committed
deploy: 2f30bab
1 parent d6f38af commit 73cf28a

File tree

8 files changed

+7419
-7393
lines changed

8 files changed

+7419
-7393
lines changed

en/lc/19/index.html

Lines changed: 52 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -81570,7 +81570,7 @@ <h3 id="solution-1-fast-and-slow-pointers">Solution 1: Fast and Slow Pointers</h
8157081570
<p>We define two pointers <code>fast</code> and <code>slow</code>, both initially pointing to the dummy head node of the linked list.</p>
8157181571
<p>Next, the <code>fast</code> pointer moves forward $n$ steps first, then <code>fast</code> and <code>slow</code> pointers move forward together until the <code>fast</code> pointer reaches the end of the linked list. At this point, the node pointed to by <code>slow.next</code> is the predecessor of the $n$-th node from the end, and we can delete it.</p>
8157281572
<p>The time complexity is $O(n)$, where $n$ is the length of the linked list. The space complexity is $O(1)$.</p>
81573-
<div class="tabbed-set tabbed-alternate" data-tabs="1:9"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><input id="__tabbed_1_5" name="__tabbed_1" type="radio" /><input id="__tabbed_1_6" name="__tabbed_1" type="radio" /><input id="__tabbed_1_7" name="__tabbed_1" type="radio" /><input id="__tabbed_1_8" name="__tabbed_1" type="radio" /><input id="__tabbed_1_9" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">Go</label><label for="__tabbed_1_5">TypeScript</label><label for="__tabbed_1_6">Rust</label><label for="__tabbed_1_7">JavaScript</label><label for="__tabbed_1_8">Ruby</label><label for="__tabbed_1_9">PHP</label></div>
81573+
<div class="tabbed-set tabbed-alternate" data-tabs="1:10"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><input id="__tabbed_1_5" name="__tabbed_1" type="radio" /><input id="__tabbed_1_6" name="__tabbed_1" type="radio" /><input id="__tabbed_1_7" name="__tabbed_1" type="radio" /><input id="__tabbed_1_8" name="__tabbed_1" type="radio" /><input id="__tabbed_1_9" name="__tabbed_1" type="radio" /><input id="__tabbed_1_10" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">Go</label><label for="__tabbed_1_5">TypeScript</label><label for="__tabbed_1_6">Rust</label><label for="__tabbed_1_7">JavaScript</label><label for="__tabbed_1_8">None</label><label for="__tabbed_1_9">Ruby</label><label for="__tabbed_1_10">PHP</label></div>
8157481574
<div class="tabbed-content">
8157581575
<div class="tabbed-block">
8157681576
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -81927,6 +81927,36 @@ <h3 id="solution-1-fast-and-slow-pointers">Solution 1: Fast and Slow Pointers</h
8192781927
</code></pre></div></td></tr></table></div>
8192881928
</div>
8192981929
<div class="tabbed-block">
81930+
<p><code>`swift linenums="1"
81931+
/**
81932+
* Definition for singly-linked list.
81933+
* public class ListNode {
81934+
* public var val: Int
81935+
* public var next: ListNode?
81936+
* public init() { self.val = 0; self.next = nil; }
81937+
* public init(_ val: Int) { self.val = val; self.next = nil; }
81938+
* public init(_ val: Int, _ next: ListNode?) { self.val = val; self.next = next; }
81939+
* }
81940+
*/
81941+
class Solution {
81942+
func removeNthFromEnd(_ head: ListNode?, _ n: Int) -&gt; ListNode? {
81943+
let dummy = ListNode(0)
81944+
dummy.next = head
81945+
var fast: ListNode? = dummy
81946+
var slow: ListNode? = dummy
81947+
for _ in 0..&lt;n {
81948+
fast = fast?.next
81949+
}
81950+
while fast?.next != nil {
81951+
fast = fast?.next
81952+
slow = slow?.next
81953+
}
81954+
slow?.next = slow?.next?.next
81955+
return dummy.next
81956+
}
81957+
}</code></p>
81958+
</div>
81959+
<div class="tabbed-block">
8193081960
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
8193181961
<span class="normal"> 2</span>
8193281962
<span class="normal"> 3</span>
@@ -82009,52 +82039,34 @@ <h3 id="solution-1-fast-and-slow-pointers">Solution 1: Fast and Slow Pointers</h
8200982039
<span class="normal">28</span>
8201082040
<span class="normal">29</span>
8201182041
<span class="normal">30</span>
82012-
<span class="normal">31</span>
82013-
<span class="normal">32</span>
82014-
<span class="normal">33</span>
82015-
<span class="normal">34</span>
82016-
<span class="normal">35</span>
82017-
<span class="normal">36</span>
82018-
<span class="normal">37</span>
82019-
<span class="normal">38</span>
82020-
<span class="normal">39</span>
82021-
<span class="normal">40</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="x"># Definition for singly-linked list.</span>
82022-
<span class="x"># class ListNode {</span>
82023-
<span class="x"># public $val;</span>
82024-
<span class="x"># public $next;</span>
82025-
82026-
<span class="x"># public function __construct($val = 0, $next = null)</span>
82027-
<span class="x"># {</span>
82028-
<span class="x"># $this-&gt;val = $val;</span>
82029-
<span class="x"># $this-&gt;next = $next;</span>
82030-
<span class="x"># }</span>
82031-
<span class="x"># }</span>
82032-
82042+
<span class="normal">31</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="x">/**</span>
82043+
<span class="x"> * Definition for a singly-linked list.</span>
82044+
<span class="x"> * class ListNode {</span>
82045+
<span class="x"> * public $val = 0;</span>
82046+
<span class="x"> * public $next = null;</span>
82047+
<span class="x"> * function __construct($val = 0, $next = null) {</span>
82048+
<span class="x"> * $this-&gt;val = $val;</span>
82049+
<span class="x"> * $this-&gt;next = $next;</span>
82050+
<span class="x"> * }</span>
82051+
<span class="x"> * }</span>
82052+
<span class="x"> */</span>
8203382053
<span class="x">class Solution {</span>
8203482054
<span class="x"> /**</span>
8203582055
<span class="x"> * @param ListNode $head</span>
82036-
<span class="x"> * @param int $n</span>
82056+
<span class="x"> * @param Integer $n</span>
8203782057
<span class="x"> * @return ListNode</span>
8203882058
<span class="x"> */</span>
82039-
8204082059
<span class="x"> function removeNthFromEnd($head, $n) {</span>
82041-
<span class="x"> $dummy = new ListNode(0);</span>
82042-
<span class="x"> $dummy-&gt;next = $head;</span>
82043-
82044-
<span class="x"> $first = $dummy;</span>
82045-
<span class="x"> $second = $dummy;</span>
82046-
82047-
<span class="x"> for ($i = 0; $i &lt;= $n; $i++) {</span>
82048-
<span class="x"> $second = $second-&gt;next;</span>
82060+
<span class="x"> $dummy = new ListNode(0, $head);</span>
82061+
<span class="x"> $fast = $slow = $dummy;</span>
82062+
<span class="x"> for ($i = 0; $i &lt; $n; $i++) {</span>
82063+
<span class="x"> $fast = $fast-&gt;next;</span>
8204982064
<span class="x"> }</span>
82050-
82051-
<span class="x"> while ($second != null) {</span>
82052-
<span class="x"> $first = $first-&gt;next;</span>
82053-
<span class="x"> $second = $second-&gt;next;</span>
82065+
<span class="x"> while ($fast-&gt;next !== null) {</span>
82066+
<span class="x"> $fast = $fast-&gt;next;</span>
82067+
<span class="x"> $slow = $slow-&gt;next;</span>
8205482068
<span class="x"> }</span>
82055-
82056-
<span class="x"> $first-&gt;next = $first-&gt;next-&gt;next;</span>
82057-
82069+
<span class="x"> $slow-&gt;next = $slow-&gt;next-&gt;next;</span>
8205882070
<span class="x"> return $dummy-&gt;next;</span>
8205982071
<span class="x"> }</span>
8206082072
<span class="x">}</span>
@@ -82065,6 +82077,7 @@ <h3 id="solution-1-fast-and-slow-pointers">Solution 1: Fast and Slow Pointers</h
8206582077
<!-- solution:end -->
8206682078

8206782079
<!-- problem:end -->
82080+
<p>````</p>
8206882081

8206982082

8207082083

en/search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)