Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::collections::HashSet;
- #[derive(PartialEq, Eq, Clone, Debug)]
- pub struct ListNode {
- pub val: i32,
- pub next: Option<Box<ListNode>>
- }
- impl ListNode {
- #[inline]
- fn new(val: i32) -> Self {
- ListNode {
- next: None,
- val
- }
- }
- fn new2(val: i32, n: ListNode) -> Self {
- ListNode {
- next: Some(Box::new(n)),
- val
- }
- }
- }
- pub fn delete_duplicates(head: Option<Box<ListNode>>) -> Option<Box<ListNode>>
- {
- let mut n = Some(head);
- let mut prev = n.unwrap_or_default().;
- let mut dup:HashSet<i32> = HashSet::new();
- let mut bloop:bool = true;
- while bloop == true
- {
- match n
- {
- Some(s) =>
- {
- if dup.contains(&s.unwrap().val)
- {
- }
- println!("{}",s.unwrap().val);
- n = s.unwrap().next;
- },
- None =>
- {
- bloop = false;
- }
- }
- }
- return n;
- }
- fn main() {
- let n1 = ListNode::new(10);
- let n2 = ListNode::new2(20, n1);
- let n3 = ListNode::new2(30, n2);
- let tmp = Some(Box::new(n3));
- let ret = delete_duplicates(tmp);
- println!("Hello, world!");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement