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 0cdf537

Browse files
Merge pull request youngyangyang04#2518 from PHJ369906/beChild-bugfix-branch
Update: 修复原Java版本报空指针异常(NullPointerException)
2 parents a8de246 + 2dce525 commit 0cdf537

File tree

1 file changed

+24
-18
lines changed

1 file changed

+24
-18
lines changed

‎problems/0019.删除链表的倒数第N个节点.md‎

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -98,27 +98,33 @@ public:
9898
### Java:
9999
100100
```java
101-
public ListNode removeNthFromEnd(ListNode head, int n){
102-
ListNode dummyNode = new ListNode(0);
103-
dummyNode.next = head;
104-
105-
ListNode fastIndex = dummyNode;
106-
ListNode slowIndex = dummyNode;
101+
class Solution {
102+
public ListNode removeNthFromEnd(ListNode head, int n) {
103+
//新建一个虚拟头节点指向head
104+
ListNode dummyNode = new ListNode(0);
105+
dummyNode.next = head;
106+
//快慢指针指向虚拟头节点
107+
ListNode fastIndex = dummyNode;
108+
ListNode slowIndex = dummyNode;
109+
110+
// 只要快慢指针相差 n 个结点即可
111+
for (int i = 0; i <= n; i++) {
112+
fastIndex = fastIndex.next;
113+
}
107114
108-
// 只要快慢指针相差 n 个结点即可
109-
for (int i = 0; i < n ; i++){
110-
fastIndex = fastIndex.next;
111-
}
115+
while (fastIndex != null) {
116+
fastIndex = fastIndex.next;
117+
slowIndex = slowIndex.next;
118+
}
112119
113-
while (fastIndex != null){
114-
fastIndex = fastIndex.next;
115-
slowIndex = slowIndex.next;
120+
// 此时 slowIndex 的位置就是待删除元素的前一个位置。
121+
// 具体情况可自己画一个链表长度为 3 的图来模拟代码来理解
122+
// 检查 slowIndex.next 是否为 null,以避免空指针异常
123+
if (slowIndex.next != null) {
124+
slowIndex.next = slowIndex.next.next;
125+
}
126+
return dummyNode.next;
116127
}
117-
118-
//此时 slowIndex 的位置就是待删除元素的前一个位置。
119-
//具体情况可自己画一个链表长度为 3 的图来模拟代码来理解
120-
slowIndex.next = slowIndex.next.next;
121-
return dummyNode.next;
122128
}
123129
```
124130

0 commit comments

Comments
(0)

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