Open utterances-bot opened 4 years ago
可以试试这样写:
fn verify(node:Node,lower:Option<i32>,upper:Option<i32>) -> bool {
match node {
Some(cell) => {
let n = cell.borrow();
lower.map_or(true,|x| x < n.val ) &&
upper.map_or(true,|x| n.val < x) &&
Solution::verify(n.left.clone(),lower,Some(n.val)) &&
Solution::verify(n.right.clone(),Some(n.val),upper)
},
None => true,
}
}
确实 清晰多了,写的时候不是很熟悉rust的惯用法,像map_or之类的都不熟悉。 谢谢指出来。
你熟悉函数式编程?
确实 清晰多了,写的时候不是很熟悉rust的惯用法,像map_or之类的都不熟悉。 谢谢指出来。
你熟悉函数式编程?
也没有,试了好多遍试出来的 orz
98. 验证二叉搜索树 :: 白振轩的个人博客
https://stevenbai.top/rust-leetcode/2019-06-17/