File tree 3 files changed +21
-39
lines changed
solution/0200-0299/0206.Reverse Linked List
3 files changed +21
-39
lines changed Original file line number Diff line number Diff line change @@ -394,20 +394,14 @@ function reverseList(head: ListNode | null): ListNode | null {
394
394
// }
395
395
impl Solution {
396
396
pub fn reverse_list (head : Option <Box <ListNode >>) -> Option <Box <ListNode >> {
397
- match head {
398
- None => None ,
399
- Some (mut head ) => {
400
- let mut cur = head . next. take ();
401
- let mut pre = Some (head );
402
- while let Some (mut node ) = cur {
403
- let next = node . next. take ();
404
- node . next = pre ;
405
- pre = Some (node );
406
- cur = next ;
407
- }
408
- pre
409
- }
397
+ let mut head = head ;
398
+ let mut pre = None ;
399
+ while let Some (mut node ) = head {
400
+ head = node . next. take ();
401
+ node . next = pre . take ();
402
+ pre = Some (node );
410
403
}
404
+ pre
411
405
}
412
406
}
413
407
```
Original file line number Diff line number Diff line change @@ -373,20 +373,14 @@ Loop:
373
373
// }
374
374
impl Solution {
375
375
pub fn reverse_list (head : Option <Box <ListNode >>) -> Option <Box <ListNode >> {
376
- match head {
377
- None => None ,
378
- Some (mut head ) => {
379
- let mut cur = head . next. take ();
380
- let mut pre = Some (head );
381
- while let Some (mut node ) = cur {
382
- let next = node . next. take ();
383
- node . next = pre ;
384
- pre = Some (node );
385
- cur = next ;
386
- }
387
- pre
388
- }
376
+ let mut head = head ;
377
+ let mut pre = None ;
378
+ while let Some (mut node ) = head {
379
+ head = node . next. take ();
380
+ node . next = pre . take ();
381
+ pre = Some (node );
389
382
}
383
+ pre
390
384
}
391
385
}
392
386
```
Original file line number Diff line number Diff line change 16
16
// }
17
17
impl Solution {
18
18
pub fn reverse_list ( head : Option < Box < ListNode > > ) -> Option < Box < ListNode > > {
19
- match head {
20
- None => None ,
21
- Some ( mut head) => {
22
- let mut cur = head. next . take ( ) ;
23
- let mut pre = Some ( head) ;
24
- while let Some ( mut node) = cur {
25
- let next = node. next . take ( ) ;
26
- node. next = pre;
27
- pre = Some ( node) ;
28
- cur = next;
29
- }
30
- pre
31
- }
19
+ let mut head = head;
20
+ let mut pre = None ;
21
+ while let Some ( mut node) = head {
22
+ head = node. next . take ( ) ;
23
+ node. next = pre. take ( ) ;
24
+ pre = Some ( node) ;
32
25
}
26
+ pre
33
27
}
34
28
}
You can’t perform that action at this time.
0 commit comments