nkbai / blog

2 stars 2 forks source link

98. 验证二叉搜索树 :: 白振轩的个人博客 #5

Open utterances-bot opened 4 years ago

utterances-bot commented 4 years ago

98. 验证二叉搜索树 :: 白振轩的个人博客

https://stevenbai.top/rust-leetcode/2019-06-17/

Jancd commented 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,
        }
    }
nkbai commented 4 years ago

确实 清晰多了,写的时候不是很熟悉rust的惯用法,像map_or之类的都不熟悉。 谢谢指出来。

你熟悉函数式编程?

Jancd commented 4 years ago

确实 清晰多了,写的时候不是很熟悉rust的惯用法,像map_or之类的都不熟悉。 谢谢指出来。

你熟悉函数式编程?

也没有,试了好多遍试出来的 orz