leetcode-671. 二叉树中第二小的节点

dfs 取左右子树第二大的值进行比较

/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func findSecondMinimumValue(root *TreeNode) int {
val := dfs(root, root.Val)
return val
}
func dfs(root *TreeNode, minV int) int {
if root == nil {
return -1
}
if root.Val > minV {
return root.Val
}
left := dfs(root.Left, minV)
right := dfs(root.Right, minV)
if left == -1 {
return right
} else if right == -1 {
return left
} else if left < right {
return left
} else {
return right
}
}

参考

671. 二叉树中第二小的节点 - 力扣(Leetcode)

posted @   吴丹阳-V  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示