Skip to content

Commit 4efad49

Browse files
committed
finish algorithm2
1 parent 7ff8fee commit 4efad49

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

exercises/algorithm/algorithm2.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,22 @@ impl<T> LinkedList<T> {
7474
}
7575
pub fn reverse(&mut self){
7676
// TODO
77+
if self.length <=1
78+
{
79+
return;
80+
}
81+
let mut current = self.start;
82+
while let Some(node_ptr) = current{
83+
unsafe{
84+
let node = node_ptr.as_ptr();
85+
let temp_next=(*node).next;
86+
let temp_prev=(*node).prev;
87+
(*node).next = temp_prev;
88+
(*node).prev = temp_next;
89+
current=temp_next;
90+
}
91+
}
92+
std::mem::swap(&mut self.start, &mut self.end);
7793
}
7894
}
7995

0 commit comments

Comments
 (0)