File tree Expand file tree Collapse file tree 1 file changed +8
-25
lines changed Expand file tree Collapse file tree 1 file changed +8
-25
lines changed Original file line number Diff line number Diff line change 9
9
* }
10
10
*/
11
11
class Solution {
12
- /**
13
- 1. strategy
14
- - iterate over all Node, save value to list
15
- - iterate list in reverse order, create Node and link
16
- 2. complexity
17
- - time: O(N)
18
- - space: O(N)
19
- */
20
12
public ListNode reverseList (ListNode head ) {
21
- List <Integer > list = new ArrayList <>();
22
-
23
- while (head != null ) {
24
- list .add (head .val );
25
- head = head .next ;
13
+ ListNode curr = head ;
14
+ ListNode prev = null ;
15
+ while (curr != null ) {
16
+ ListNode next = curr .next ;
17
+ curr .next = prev ;
18
+ prev = curr ;
19
+ curr = next ;
26
20
}
27
21
28
- ListNode prev = new ListNode ();
29
- ListNode ret = null ;
30
-
31
- for (int i =list .size ()-1 ; i >=0 ; i --) {
32
- ListNode node = new ListNode (list .get (i ));
33
- prev .next = node ;
34
- prev = prev .next ;
35
- if (ret == null ) {
36
- ret = prev ;
37
- }
38
- }
39
- return ret ;
22
+ return prev ;
40
23
}
41
24
}
42
25
You can’t perform that action at this time.
0 commit comments