题目链接
https://leetcode-cn.com/problems/second-minimum-node-in-a-binary-tree/
题解一
- 自己想的思路,只用了函数本身,没有用其它函数
- 根据题目给的下面2个条件,又因为树是递归结构,可得到:根结点、左子结点和右子结点中根结点是最小的。
- 每个结点的子结点数量只能为
2
或0
。 - 如果一个结点有两个子结点的话,那么该结点的值等于两个子结点中较小的一个。
- 每个结点的子结点数量只能为
- 思路见代码和注释
1 | // Problem: LeetCode 671 |
题解二
- 其他人给的题解,速度很快
- 思路是:既然已经保证根结点的值最小,那就只需要遍历左右子树,遍历时一旦发现大于最小值的值(也就是第二小的值)就停止遍历并返回结果
1 | // Problem: LeetCode 671 |
作者:@臭咸鱼
转载请注明出处:https://www.cnblogs.com/chouxianyu/
欢迎讨论和交流!