Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit c00c299

Browse files
authored
feat: update rust solution to lc problem: No.0206 (doocs#1664)
No.0206.Reverse Linked List
1 parent 42d39a0 commit c00c299

File tree

3 files changed

+21
-39
lines changed

3 files changed

+21
-39
lines changed

‎solution/0200-0299/0206.Reverse Linked List/README.md‎

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -394,20 +394,14 @@ function reverseList(head: ListNode | null): ListNode | null {
394394
// }
395395
impl Solution {
396396
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);
410403
}
404+
pre
411405
}
412406
}
413407
```

‎solution/0200-0299/0206.Reverse Linked List/README_EN.md‎

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -373,20 +373,14 @@ Loop:
373373
// }
374374
impl Solution {
375375
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);
389382
}
383+
pre
390384
}
391385
}
392386
```

‎solution/0200-0299/0206.Reverse Linked List/Solution.rs‎

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,13 @@
1616
// }
1717
impl Solution {
1818
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);
3225
}
26+
pre
3327
}
3428
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /