You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
598 B
29 lines
598 B
2 years ago
|
/**
|
||
|
* File: tree_node.rs
|
||
|
* Created Time: 2023-02-27
|
||
|
* Author: xBLACKICEx (xBLACKICE@outlook.com)
|
||
|
*/
|
||
|
|
||
|
use std::cell::RefCell;
|
||
|
use std::rc::Rc;
|
||
|
|
||
|
#[allow(dead_code)]
|
||
|
pub struct TreeNode {
|
||
|
pub val: i32,
|
||
|
pub high: i32,
|
||
|
pub parent: Option<Rc<RefCell<TreeNode>>>,
|
||
|
pub left: Option<Rc<RefCell<TreeNode>>>,
|
||
|
pub right: Option<Rc<RefCell<TreeNode>>>,
|
||
|
}
|
||
|
|
||
|
impl TreeNode {
|
||
|
pub fn new(val: i32) -> Rc<RefCell<Self>> {
|
||
|
Rc::new(RefCell::new(Self {
|
||
|
val,
|
||
|
high: 0,
|
||
|
parent: None,
|
||
|
left: None,
|
||
|
right: None
|
||
|
}))
|
||
|
}
|
||
|
}
|