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 99 * }
1010 */
1111class 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- */
2012 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 ;
2620 }
2721
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 ;
4023 }
4124}
4225
You can’t perform that action at this time.
0 commit comments