diff options
Diffstat (limited to 'keys_and_rooms.rs')
-rw-r--r-- | keys_and_rooms.rs | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/keys_and_rooms.rs b/keys_and_rooms.rs deleted file mode 100644 index 678c732..0000000 --- a/keys_and_rooms.rs +++ /dev/null @@ -1,23 +0,0 @@ -struct Solution; - -impl Solution { - pub fn can_visit_all_rooms(rooms: Vec<Vec<i32>>) -> bool { - let mut unlocked = vec![false; rooms.len()]; - unlocked[0] = true; - let mut stack = vec![0]; - while let Some(next) = stack.pop() { - for &i in &rooms[next as usize] { - if !unlocked[i as usize] { - unlocked[i as usize] = true; - stack.push(i); - } - } - } - unlocked.iter().all(|&b| b) - } -} - -fn main() { - let rooms = vec![vec![1], vec![2], vec![3], vec![]]; - print!("{}", Solution::can_visit_all_rooms(rooms)); -} |