diff --git a/reverse-linked-list/DaleSeo.rs b/reverse-linked-list/DaleSeo.rs new file mode 100644 index 000000000..40d2b9d22 --- /dev/null +++ b/reverse-linked-list/DaleSeo.rs @@ -0,0 +1,16 @@ +// TC: O(n) +// SC: O(1) +impl Solution { + pub fn reverse_list(head: Option>) -> Option> { + let mut curr = head; + let mut prev = None; + + while let Some(mut node) = curr { + curr = node.next.take(); + node.next = prev; + prev = Some(node); + } + + prev + } +}