mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
Update 二叉树中递归带着回溯.md
This commit is contained in:
@ -617,6 +617,38 @@ func _binaryTreePaths3(_ root: TreeNode, res: inout [String], paths: inout [Int]
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Rust
|
||||||
|
|
||||||
|
> 100.相同的树
|
||||||
|
|
||||||
|
```rsut
|
||||||
|
use std::cell::RefCell;
|
||||||
|
use std::rc::Rc;
|
||||||
|
impl Solution {
|
||||||
|
pub fn is_same_tree(
|
||||||
|
p: Option<Rc<RefCell<TreeNode>>>,
|
||||||
|
q: Option<Rc<RefCell<TreeNode>>>,
|
||||||
|
) -> bool {
|
||||||
|
match (p, q) {
|
||||||
|
(None, None) => true,
|
||||||
|
(None, Some(_)) => false,
|
||||||
|
(Some(_), None) => false,
|
||||||
|
(Some(n1), Some(n2)) => {
|
||||||
|
if n1.borrow().val == n2.borrow().val {
|
||||||
|
let right =
|
||||||
|
Self::is_same_tree(n1.borrow().left.clone(), n2.borrow().left.clone());
|
||||||
|
let left =
|
||||||
|
Self::is_same_tree(n1.borrow().right.clone(), n2.borrow().right.clone());
|
||||||
|
right && left
|
||||||
|
} else {
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||||
|
Reference in New Issue
Block a user