Skip to content

Commit 962f808

Browse files
committed
add q19
1 parent 2b1138c commit 962f808

File tree

4 files changed

+57
-19
lines changed

4 files changed

+57
-19
lines changed

.idea/workspace.xml

Lines changed: 19 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
### 链表操作
1010

1111
* [q2_两数相加](/src/链表操作/q2_两数相加)
12+
* [q19_删除链表的倒数第N个节点](/src/链表操作/q19_删除链表的倒数第N个节点)
1213
* [q138_复制带随机指针的链表](/src/链表操作/q138_复制带随机指针的链表)
1314
* [q206_反转链表](/src/链表操作/q206_反转链表)
1415

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package 链表操作.q19_删除链表的倒数第N个节点;
2+
3+
4+
public class ListNode {
5+
int val;
6+
ListNode next;
7+
8+
ListNode(int x) {
9+
val = x;
10+
}
11+
}
12+
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package 链表操作.q19_删除链表的倒数第N个节点;
2+
3+
/**
4+
* 利用两个指针 o(n)
5+
*/
6+
public class Solution {
7+
8+
public ListNode removeNthFromEnd(ListNode head, int n) {
9+
ListNode dummy = new ListNode(0);
10+
dummy.next = head;
11+
ListNode first = dummy;
12+
ListNode second = dummy;
13+
14+
for (int i = 1; i <= n + 1; i++) {
15+
first = first.next;
16+
}
17+
18+
while (first != null) {
19+
first = first.next;
20+
second = second.next;
21+
}
22+
second.next = second.next.next;
23+
return dummy.next;
24+
}
25+
}

0 commit comments

Comments
 (0)