题解 | #找到搜索二叉树中两个错误的节点#

找到搜索二叉树中两个错误的节点

https://www.nowcoder.com/practice/4582efa5ffe949cc80c136eeb78795d6

func findError( root *TreeNode ) []int {
    // write code here
    var pre *TreeNode
    ans := make([]int, 2)
    idx := 1
    var dfs func(cur *TreeNode)
    dfs = func(cur *TreeNode) {
        if cur==nil{
            return
        }
        dfs(cur.Left)
        if pre==nil{
            pre = cur
        }
        if idx==1&&cur.Val<pre.Val{
            ans[idx] = pre.Val
            idx--
        }
        if idx==0&&cur.Val<pre.Val{
            ans[idx] = cur.Val
        }
        pre = cur
        dfs(cur.Right)
    }
    dfs(root)
    return ans
}

全部评论

相关推荐

大飞的诡术妖姬:之前看b站多明海有个说法,日本就业竞争非常低的原因不光是毕业学生少,还有很多人干两年不喜欢职场氛围就辞职躺平,位置也空了很多,论吃苦耐劳还得看咱们
点赞 评论 收藏
分享
今天 12:20
门头沟学院 运营
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务