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

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

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
}

全部评论

相关推荐

06-20 19:40
中原工学院 Java
网络存储:十几天不会让你拉人办卡就结束了吧?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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