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

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

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
}

全部评论

相关推荐

09-14 20:51
四川大学 Java
慢热的鲸鱼在学习:985加粗就行了,第二个项目来不及准备也没事,省的写了问你你还不会。你只需准备面试八股和项目场景,剩下的交给985。即使面不过也没事,面试经验是最重要的,你现在不缺时间
简历中的项目经历要怎么写
点赞 评论 收藏
分享
在看牛客的社畜很积极:身高体重那一行信息去掉,学校那一行的信息放上面,找半天都没找到你是哪个学校什么专业的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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