diff options
author | Jack Sangdahl <[email protected]> | 2025-06-27 12:23:02 -0600 |
---|---|---|
committer | Jack Sangdahl <[email protected]> | 2025-06-27 12:23:02 -0600 |
commit | a96b65cbfad7f62f3db6b2eab105e4e25c0414c5 (patch) | |
tree | e2a2b3f49f9fb741be81415266ac93e74cff42ec /other/count_complete_tree_node.rs | |
parent | 694ad5ed71edcb1deccab54b72d706b779918276 (diff) | |
download | leetcode-a96b65cbfad7f62f3db6b2eab105e4e25c0414c5.tar.gz leetcode-a96b65cbfad7f62f3db6b2eab105e4e25c0414c5.zip |
chore: remove old cpp and rust solutions
Diffstat (limited to 'other/count_complete_tree_node.rs')
-rw-r--r-- | other/count_complete_tree_node.rs | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/other/count_complete_tree_node.rs b/other/count_complete_tree_node.rs deleted file mode 100644 index 4859862..0000000 --- a/other/count_complete_tree_node.rs +++ /dev/null @@ -1,51 +0,0 @@ -#[derive(Debug, PartialEq, Eq)] -pub struct TreeNode { - pub val: i32, - pub left: Option<RC<RefCell<TreeNode>>>, - pub right: Option<RC<RefCell<TreeNode>>> -} - -impl TreeNode { - #[inline] - pub fn new(val: i32) -> Self { - TreeNode { - val, - left: None, - right: None - } - } -} - -use std::rc::Rc; -use std::cell::RefCell; -impl Solution { - pub fn count_nodes(root: Option<Rc<RefCell<TreeNode>>>) -> i32 { - if let Some(r) = root { - let ld = { - let mut h = 1; - let mut node = r.borrow().left.clone(); - while let Some(n) = node { - h += 1; - node = n.borrow().left.clone(); - } - h - }; - let rd = { - let mut h = 1; - let mut node = r.borrow().right.clone(); - while let Some(n) = node { - h += 1; - node = n.borrow().right.clone(); - } - h - }; - if ld == rd { - 2i32.pow(ld) - 1 - } else { - 1 + Solution::count_nodes(r.borrow().left.clone()) + Solution::count_nodes(r.borrow().right.clone()) - } - } else { - 0 - } - } -} |