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
}

京公网安备 11010502036488号