File tree Expand file tree Collapse file tree 4 files changed +156
-0
lines changed Expand file tree Collapse file tree 4 files changed +156
-0
lines changed Original file line number Diff line number Diff line change
1
+ package leetcode ._19_ ;
2
+
3
+ /**
4
+ * Created by zhangbo54 on 2019-03-06.
5
+ */
6
+ public class ListNode {
7
+ int val ;
8
+ ListNode next ;
9
+
10
+ ListNode (int x ) {
11
+ val = x ;
12
+ }
13
+
14
+ public int getVal () {
15
+ return val ;
16
+ }
17
+
18
+ public void setVal (int val ) {
19
+ this .val = val ;
20
+ }
21
+
22
+ public ListNode getNext () {
23
+ return next ;
24
+ }
25
+
26
+ public ListNode setNext (ListNode next ) {
27
+ this .next = next ;
28
+ return this ;
29
+ }
30
+
31
+ @ Override
32
+ public String toString () {
33
+ StringBuilder sb = new StringBuilder ();
34
+ ListNode head = this ;
35
+ while (head != null ) {
36
+ sb .append (head .val ).append ("->" );
37
+ head = head .next ;
38
+ }
39
+ sb .delete (sb .length () - 2 , sb .length ());
40
+ return sb .toString ();
41
+ }
42
+ }
Original file line number Diff line number Diff line change
1
+ package leetcode ._19_ ;
2
+
3
+ /**
4
+ * Created by zhangbo54 on 2019-03-04.
5
+ */
6
+ public class Main {
7
+ public static void main (String [] args ) {
8
+ ListNode node = new ListNode (1 ).setNext (new ListNode (2 ).setNext (new ListNode (3 ).setNext (new ListNode (4 ).setNext (new ListNode (5 )))));
9
+ // ListNode node = new ListNode(1).setNext(new ListNode(2));
10
+ Solution solution = new Solution ();
11
+ ListNode listNode = solution .removeNthFromEnd (node , 2 );
12
+ System .out .println (listNode .toString ());
13
+ }
14
+ }
15
+
Original file line number Diff line number Diff line change
1
+ package leetcode ._19_ ;
2
+
3
+ import java .util .ArrayList ;
4
+ import java .util .Arrays ;
5
+ import java .util .Collections ;
6
+ import java .util .HashSet ;
7
+ import java .util .List ;
8
+ import java .util .Set ;
9
+
10
+ /**
11
+ * Definition for singly-linked list.
12
+ * public class ListNode {
13
+ * int val;
14
+ * ListNode next;
15
+ * ListNode(int x) { val = x; }
16
+ * }
17
+ */
18
+ class Solution {
19
+ public ListNode removeNthFromEnd (ListNode head , int n ) {
20
+ ListNode node1 = head ;
21
+ ListNode node2 = head ;
22
+ // 由于题目中说到 n 永远有效,所以不做 nodeList 长度不足n的判断
23
+ for (int i = 0 ; i < n ; i ++) {
24
+ node1 = node1 .next ;
25
+ }
26
+ if (node1 == null ) {
27
+ return head .next ;
28
+ }
29
+ node1 = node1 .next ;
30
+
31
+ while (node1 != null ) {
32
+ node1 = node1 .next ;
33
+ node2 = node2 .next ;
34
+ }
35
+ node2 .next = node2 .next .next ;
36
+ return head ;
37
+ }
38
+ }
Original file line number Diff line number Diff line change
1
+ ### [ 19\. Remove Nth Node From End of List] ( https://leetcode.com/problems/remove-nth-node-from-end-of-list/ )
2
+
3
+ Difficulty: ** Medium**
4
+
5
+
6
+ Given a linked list, remove the _ n_ -th node from the end of list and return its head.
7
+
8
+ ** Example:**
9
+
10
+ ```
11
+ Given linked list: 1->2->3->4->5, and n = 2.
12
+
13
+ After removing the second node from the end, the linked list becomes 1->2->3->5.
14
+ ```
15
+
16
+ ** Note:**
17
+
18
+ Given _ n_ will always be valid.
19
+
20
+ ** Follow up:**
21
+
22
+ Could you do this in one pass?
23
+
24
+
25
+ #### Solution
26
+
27
+ Language: ** Java**
28
+
29
+ ``` java
30
+ /**
31
+ * Definition for singly-linked list.
32
+ * public class ListNode {
33
+ * int val;
34
+ * ListNode next;
35
+ * ListNode(int x) { val = x; }
36
+ * }
37
+ */
38
+ class Solution {
39
+ public ListNode removeNthFromEnd (ListNode head , int n ) {
40
+ ListNode node1 = head;
41
+ ListNode node2 = head;
42
+ // 由于题目中说到 n 永远有效,所以不做 nodeList 长度不足n的判断
43
+ for (int i = 0 ; i < n; i++ ) {
44
+ node1 = node1. next;
45
+ }
46
+ if (node1 == null ) {
47
+ return head. next;
48
+ }
49
+ node1 = node1. next;
50
+
51
+ while (node1 != null ) {
52
+ node1 = node1. next;
53
+ node2 = node2. next;
54
+ }
55
+ node2. next = node2. next. next;
56
+ return head;
57
+ }
58
+ }
59
+ node2 = node2. next;
60
+ ```
61
+ ![ ] ( https://ws3.sinaimg.cn/large/006tKfTcgy1g0ugblbxe4j310o0u0dk3.jpg )
You can’t perform that action at this time.
0 commit comments