Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 977b537

Browse files
committed
feat: update leetcode and lcci solutions
1 parent ffb91b8 commit 977b537

File tree

11 files changed

+128
-41
lines changed

11 files changed

+128
-41
lines changed

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242

4343
1. [从尾到头打印链表](./lcof/面试题06.%20从尾到头打印链表/README.md)
4444
1. [删除链表的节点](./lcof/面试题18.%20删除链表的节点/README.md)
45-
1. [链表中倒数第 k 个节点](./lcof/面试题22.%20链表中倒数第k个节点/README.md)
45+
1. [链表中倒数第 k 个节点](./lcci/02.02.Kth%20Node%20From%20End%20of%20List/README.md)
4646
1. [反转链表](./solution/0200-0299/0206.Reverse%20Linked%20List/README.md)
4747
1. [环形链表](./solution/0100-0199/0141.Linked%20List%20Cycle/README.md)
4848
1. [环形链表 II](./solution/0100-0199/0142.Linked%20List%20Cycle%20II/README.md)

‎README_EN.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ Complete solutions to [LeetCode](https://leetcode-cn.com/problemset/all/), [LCOF
3939

4040
### Linked List
4141

42+
1. [Delete Node in a Linked List](./solution/0200-0299/0237.Delete%20Node%20in%20a%20Linked%20List/README_EN.md)
43+
1. [Kth Node From End of List](./lcci/02.02.Kth%20Node%20From%20End%20of%20List/README_EN.md)
4244
1. [Reverse Linked List](./solution/0200-0299/0206.Reverse%20Linked%20List/README_EN.md)
4345
1. [Linked List Cycle](./solution/0100-0199/0141.Linked%20List%20Cycle/README_EN.md)
4446
1. [Linked List Cycle II](./solution/0100-0199/0142.Linked%20List%20Cycle%20II/README_EN.md)

‎lcci/02.02.Kth Node From End of List/README.md‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@
2121
## 解法
2222
<!-- 这里可写通用的实现逻辑 -->
2323

24+
定义 `p``q` 指针指向 `head`
25+
26+
`p` 先向前走 `k` 步,接着 `p``q` 同时向前走,当 `p` 指向 `null` 时,`q` 指向的节点即为链表的倒数第 `k` 个节点。
27+
2428

2529
<!-- tabs:start -->
2630

@@ -40,8 +44,7 @@ class Solution:
4044
for _ in range(k):
4145
q = q.next
4246
while q:
43-
q = q.next
44-
p = p.next
47+
p, q = p.next, q.next
4548
return p.val
4649
```
4750

‎lcci/02.02.Kth Node From End of List/README_EN.md‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ class Solution:
4848
for _ in range(k):
4949
q = q.next
5050
while q:
51-
q = q.next
52-
p = p.next
51+
p, q = p.next, q.next
5352
return p.val
5453
```
5554

‎lcci/02.02.Kth Node From End of List/Solution.py‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,5 @@ def kthToLast(self, head: ListNode, k: int) -> int:
1010
for _ in range(k):
1111
q = q.next
1212
while q:
13-
q = q.next
14-
p = p.next
13+
p, q = p.next, q.next
1514
return p.val

‎solution/0200-0299/0237.Delete Node in a Linked List/README.md‎

Lines changed: 47 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88

99
<p>现有一个链表 --&nbsp;head =&nbsp;[4,5,1,9],它可以表示为:</p>
1010

11-
<p><img alt="" src="https://assets.leetcode-cn.com/aliyun-lc-upload/uploads/2019/01/19/237_example.png" style="height: 49px; width: 300px;"></p>
12-
13-
<p>&nbsp;</p>
11+
![](./images/237_example.png)
1412

1513
<p><strong>示例 1:</strong></p>
1614

@@ -49,19 +47,60 @@
4947
<!-- 这里可写当前语言的特殊实现逻辑 -->
5048

5149
```python
52-
50+
# Definition for singly-linked list.
51+
# class ListNode:
52+
# def __init__(self, x):
53+
# self.val = x
54+
# self.next = None
55+
56+
class Solution:
57+
def deleteNode(self, node):
58+
"""
59+
:type node: ListNode
60+
:rtype: void Do not return anything, modify node in-place instead.
61+
"""
62+
node.val = node.next.val
63+
node.next = node.next.next
5364
```
5465

5566
### **Java**
5667
<!-- 这里可写当前语言的特殊实现逻辑 -->
5768

5869
```java
59-
60-
```
61-
62-
### **...**
70+
/**
71+
* Definition for singly-linked list.
72+
* public class ListNode {
73+
* int val;
74+
* ListNode next;
75+
* ListNode(int x) { val = x; }
76+
* }
77+
*/
78+
class Solution {
79+
public void deleteNode(ListNode node) {
80+
node.val = node.next.val;
81+
node.next = node.next.next;
82+
}
83+
}
6384
```
6485

86+
### **JavaScript**
87+
88+
```javascript
89+
/**
90+
* Definition for singly-linked list.
91+
* function ListNode(val) {
92+
* this.val = val;
93+
* this.next = null;
94+
* }
95+
*/
96+
/**
97+
* @param {ListNode} node
98+
* @return {void} Do not return anything, modify node in-place instead.
99+
*/
100+
var deleteNode = function(node) {
101+
node.val = node.next.val
102+
node.next = node.next.next
103+
};
65104
```
66105

67106
<!-- tabs:end -->

‎solution/0200-0299/0237.Delete Node in a Linked List/README_EN.md‎

Lines changed: 46 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,10 @@
6060

6161

6262
<ul>
63-
6463
<li>The linked list will have at least two elements.</li>
65-
6664
<li>All of the nodes&#39; values will be unique.</li>
67-
6865
<li>The given node&nbsp;will not be the tail and it will always be a valid node of the linked list.</li>
69-
7066
<li>Do not return anything from your function.</li>
71-
7267
</ul>
7368

7469

@@ -82,18 +77,59 @@
8277
### **Python3**
8378

8479
```python
85-
80+
# Definition for singly-linked list.
81+
# class ListNode:
82+
# def __init__(self, x):
83+
# self.val = x
84+
# self.next = None
85+
86+
class Solution:
87+
def deleteNode(self, node):
88+
"""
89+
:type node: ListNode
90+
:rtype: void Do not return anything, modify node in-place instead.
91+
"""
92+
node.val = node.next.val
93+
node.next = node.next.next
8694
```
8795

8896
### **Java**
8997

9098
```java
91-
92-
```
93-
94-
### **...**
99+
/**
100+
* Definition for singly-linked list.
101+
* public class ListNode {
102+
* int val;
103+
* ListNode next;
104+
* ListNode(int x) { val = x; }
105+
* }
106+
*/
107+
class Solution {
108+
public void deleteNode(ListNode node) {
109+
node.val = node.next.val;
110+
node.next = node.next.next;
111+
}
112+
}
95113
```
96114

115+
### **JavaScript**
116+
117+
```javascript
118+
/**
119+
* Definition for singly-linked list.
120+
* function ListNode(val) {
121+
* this.val = val;
122+
* this.next = null;
123+
* }
124+
*/
125+
/**
126+
* @param {ListNode} node
127+
* @return {void} Do not return anything, modify node in-place instead.
128+
*/
129+
var deleteNode = function(node) {
130+
node.val = node.next.val
131+
node.next = node.next.next
132+
};
97133
```
98134

99135
<!-- tabs:end -->
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1+
/**
2+
* Definition for singly-linked list.
3+
* public class ListNode {
4+
* int val;
5+
* ListNode next;
6+
* ListNode(int x) { val = x; }
7+
* }
8+
*/
19
class Solution {
210
public void deleteNode(ListNode node) {
3-
// 保存下一个结点
4-
ListNode tmp = node.next;
5-
6-
// 将下个结点的值赋给当前要删除的结点
711
node.val = node.next.val;
812
node.next = node.next.next;
9-
10-
// tmp 置为空,让jvm进行垃圾回收
11-
tmp = null;
12-
1313
}
1414
}
Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
1-
const deleteNode = function(node){
2-
node.val = node.next.val;
3-
node.next = node.next.next;
4-
}
1+
/**
2+
* Definition for singly-linked list.
3+
* function ListNode(val) {
4+
* this.val = val;
5+
* this.next = null;
6+
* }
7+
*/
8+
/**
9+
* @param {ListNode} node
10+
* @return {void} Do not return anything, modify node in-place instead.
11+
*/
12+
var deleteNode = function(node) {
13+
node.val = node.next.val
14+
node.next = node.next.next
15+
};

‎solution/0200-0299/0237.Delete Node in a Linked List/Solution.py‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,5 @@ def deleteNode(self, node):
1010
:type node: ListNode
1111
:rtype: void Do not return anything, modify node in-place instead.
1212
"""
13-
tmp=node.next
14-
node.val=tmp.val
15-
node.next=tmp.next
16-
13+
node.val = node.next.val
14+
node.next = node.next.next

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /