Evaluate Boolean Binary Tree LeetCode solution in Rust

1
type Node = Option<std::rc::Rc<std::cell::RefCell<TreeNode>>>;
2
impl Solution {
3
pub fn evaluate_tree(root: Node) -> bool {
4
Self::dfs(root)
5
}
6
fn dfs(n: Node) -> bool {
7
let node = n.as_ref().unwrap().borrow();
8

9
match node.val {
10
0 => false,
11
1 => true,
12
2 => Self::dfs(node.right.clone()) || Self::dfs(node.left.clone()),
13
_ => Self::dfs(node.right.clone()) && Self::dfs(node.left.clone()),
14
}
15
}
16
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0