[LeetCode]671. Second Minimum Node In a Binary Tree解法及python代码

LeetCode --- 671. Second Minimum Node In a Binary Tree 解题报告 Given a non-empty special binary tree consisting of nodes with the non-negative value, where each node in this tree has exactlytwoorzerosub-node. If the node has two sub-nodes, then this node's value is the smaller value among its two sub-nodes. More f... 阅读详情

原题链接:https://leetcode.com/problems/second-minimum-node-in-a-binary-tree/
这个题的树有两个特点,一个是树如果有儿子一定有两个,另一个是根节点的值是根、左、右三个节点值最小的点。最开始的想法是基于先序遍历在树的遍历过程中剪枝,但发现这种方法在递归过程中比较难实现,就使用了另外一种办法:先序遍历整个树,在遍历过程中将值加入set中,去掉set中最小的值,如果set不为空就返回当前set中的最小值,代码如下:

class Solution(object):
    def findSecondMinimumValue(self, root):
        """
        :type root: TreeNode
        :rtype: int
        """
        seMinValue = set([])
        #先序遍历
        def inOrder(node):
            if node == None:
                return
            seMinValue.add(node.val)
            if node.left != None:
                inOrder(node.left)
                inOrder(node.right)
        inOrder(root)
        if not seMinValue:
            return -1
        seMinValue.remove(min(seMinValue))
        if not seMinValue:
            return -1
        return min(seMinValue)
技术面试官视角:复盘北航/中科院/哈工大保研机试与面试,他们到底在考察什么?(附真题回忆与评分侧重点) 本文从技术面试官视角解析北航、中科院、哈工大等顶尖院校保研机试与面试的考核逻辑,揭示编程语言限制、题目难度设计等隐藏考察维度,并提供真题回忆与评分侧重点。帮助考生理解面试官的真实意图,掌握应对策略,提升通过率。 阅读详情

相关推荐

告别手册!S32K3XX的eMIOS实战:从GPT定时到PWM输出,一个通道搞定电机控制

本文深入探讨了NXP S32K3XX系列MCU的eMIOS模块在电机控制中的高效应用。通过单通道实现PWM生成、输入捕获和定时中断三大功能,展示了如何简化BLDC电机控制硬件设计。文章结合RTD库与寄存器级编程,提供动态模式切换和性能优化方案,显著降低CPU负载。

weixin_42522374的博客 147

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

题目来源 671. 二叉树中第二小的节点 题目描述 题目解析 1.没有必要记录最小的值,因为最小的一定是根结点。 2.递归找到不等于根结点大的值,不用再遍历当前节点下面的子节点,因为子节点的值不可能比它小。 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {}

OceanStar的博客 340

豆包大模型API调用两种方法

ps: 因为是自用,所以这里图方便采用硬编码密钥的形式;如果有需求/安全风险,建议参考官方教程设置ARK_API_KEY环境变量的方式。坏处是:看别人的教程走了一大圈弯路hh;基础调用的话方法一就可以满足了,也比较方便快捷,容易上手。将 <Model> 替换为 Endpoint ID即可。创建就按照提示填写信息就行,需要实名认证,有免费额度。绿框框里就是Endpoint ID。

kkkkkkkkkasey的博客 1万+

LeetCode 671. 二叉树中第二小的节点

首先进行前序遍历,将二叉树所有的节点存入set中,然后再放入res中。

正在学算法的小朋友的博客 419

学习海康VisionMaster之圆查找

(1):ROI选中位置修正,并且修正信息需要选择刚刚创建的位置修正组件输出信息,这里的话后续的检测窗口一般都需要做这一步,因为大部分的应用场景都是需要用到实时跟踪的。圆查找模块是用于查找指定区域的圆,并且会输出该圆的相关参数信息,比如圆中心点,圆半径,圆是否存在等信息。7):剔除点数:和高级参数里面的剔除距离搭配使用的,就是过滤较远的边缘点,让拟合圆心出来的轮廓更加接近。中的圆查找,相当于就是拟合圆心,这个在视觉软件中的应用也是非常广泛的,通常用于定位,测量项目。

yuhouxiyang的专栏 2104

从传统扫描到SSN:Tessent数据包技术如何减少90%测试时间

本文深入探讨了Tessent流式扫描网络(SSN)如何通过其核心的数据包技术,彻底改变芯片测试范式。该技术将测试数据封装成标准化数据包,在共享总线上进行智能路由与分发,实现了动态带宽分配与核心独立测试,从而将复杂SoC(如AI芯片)的总体测试时间大幅削减90%,并显著提升测试灵活性与可扩展性。

meat5的博客 492

Leetcode 671. 二叉树中第二小的节点

Leetcode 671. 二叉树中第二小的节点

fucheng的博客 427

从ADS到Origin:高效绘制负载牵引Smith圆图的完整指南

本文提供了一份从ADS导出负载牵引数据并在Origin中绘制专业Smith圆图的完整指南。详细介绍了数据导出、导入、关键的数据解释步骤,以及高效处理多组曲线的技巧,帮助射频工程师快速生成用于报告和论文的出版级图表。

tgb3456789的博客 1137

【LeetCode】第671题——二叉树中第二小的节点(难度:简单)

【LeetCode】第671题——二叉树中第二小的节点(难度:简单)题目描述解题思路代码详解注意点 题目描述 给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话,那么该节点的值等于两个子节点中较小的一个。 更正式地说,root.val = min(root.left.val, root.right.val) 总成立。 给出这样的一个二叉树,你需要输出所有节点中的第二小的值。如果第二小的值不存在的话,输出 -1 。 示例 1: 输入:ro

Se7en_Dayz的博客 334

C++面试八股文

和静态多态(又称编译期多态,即在系统编译期间就可以确定程序将要执行哪个函数),其中动态多态是通过虚函数实现的,虚函数是类的成员函数,存在存储虚函数指针的表叫做虚函数表,虚函数表是一个存储类成员虚函数的指针,每个指针都指向调用它的地方,当子类调用虚函数时,就会去虚表里面找自己对应的函数指针,从而实现“谁调用、实现谁”从而实现多态。而C++符号表中的符号不是以函数名命名的,称为函数名修饰规则,虽然函数名相同,但是函数参数等其他属性不同,取的符号也不同,所以不会产生查询歧义的问题,使得函数可以重载。

qq_46676829的博客 905

CAN总线介绍及硬件设计

1. CAN是什么 CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO*1 国际标准化的串行通信协议。 在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统 被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很 多,线束的数量也随之增加。为适应“减少线束的数量”、“......

sinat_15677011的博客 9992

Leetcode 671: 二叉树中的第二最小值

Leetcode 671. Second Minimum Node In a Binary Tree

weixin_57266891的博客 714

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

[leetcode] 671. Second Minimum Node In a Binary Tree @ python

原题 Given a non-empty special binary tree consisting of nodes with the non-negative value, where each node in this tree has exactly two or zero sub-node. If the node has two sub-nodes, then this node’s...

闲庭信步 330

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

leetcode 671 Second Minimum Node In a Binary Tree

Java class Solution { public int findSecondMinimumValue(TreeNode root) { if(root==null) return -1; if(root.left==null && root.right==null) return -1; int left=roo

MRxjh的博客 343

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【LeetCode】671. Second Minimum Node In a Binary Tree 解题报告(Python)

【LeetCode】671. Second Minimum Node In a Binary Tree 解题报告 标签(空格分隔): LeetCode 题目地址:https://leetcode.com/problems/second-minimum-node-in-a-binary-tree/description/ 题目描述: Given a non-empty special

负雪明烛 1495

leetcode(671):Second Minimum Node In a Binary Tree

题目: Given a non-empty special binary tree consisting of nodes with the non-negative value, where each node in this tree has exactly two or zero sub-node. If the node has two sub-nodes, then this node’

赵小越的博客 202

LeetCode - 671. Second Minimum Node In a Binary Tree(寻找二叉树中第二小的结点)

LeetCode671-Second Minimum Node In a Binary Tree(寻找二叉树中第二小的结点) 非递归BFS 递归DFS 题目链接 题目 非递归BFS 使用一个变量min来记录比root.val大的数,而且这个数将会是这些比root.val大的数中的最小的数; 直接使用BFS遍历即可,但是这个题目有个性质,这可以让我们优化这个题目,即任意一个结点的孩子结点都...

zxzxin的博客~ 356

LeetCode - 671. Second Minimum Node In a Binary Tree

Q: Given a non-empty special binary tree consisting of nodes with the non-negative value, where each node in this tree has exactly two or zero sub-node. If the node has two sub-nodes, then this node’s

非凡博客 319

Python 解LeetCode:671. Second Minimum Node In a Binary Tree

题目在这里,要求一个二叉树的倒数第二个小的值。二叉树的特点是父节点的值会小于子节点的值,父节点要么没有子节点,要不左右孩子节点都有。 分析一下,根据定义,跟节点的值肯定是二叉树中最小的值,剩下的只需要找到左右子树中比跟节点大的最小值就可以了。对于这个题目,还是考察的二叉树的搜索,第一印象是BFS。使用一个辅助队列存储遍历过程中的节点,遍历过程中,如果节点的值比结果中第二小的值...

weixin_30633507的博客 138

Leetcode 第671,680,693,696,697,704,705,720,744,766题(Java解法)

Java解leetcode,助力面试之简单10道题(九)第671题 二叉树中第二小的节点解题思路代码第680题 验证回文字符串 Ⅱ解题思路代码第693题 交替位二进制数解题思路代码第696题 计数二进制子串解题思路代码第697题 数组的度解题思路代码第704题 二分查找解题思路代码第705题 设计哈希集合解题思路代码第720题 词典中最长的单词解题思路代码第744题 寻找比目标字母大的最小字母解题思路代码第766题 托普利茨矩阵解题思路代码 第671题 二叉树中第二小的节点 示例 1: 输入 输出

qq_42417189的博客 919

leetcode 671. Second Minimum Node In a Binary Tree

1.题目Given a non-empty special binary tree consisting of nodes with the non-negative value, where each node in this tree has exactly two or zero sub-node. If the node has two sub-nodes, then this node’s

沐沐余风的专栏 2737

leetcode 671. 二叉树中第二小的节点(python)

给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话,那么这个节点的值不大于它的子节点的值。  给出这样的一个二叉树,你需要输出所有节点中的第二小的值。如果第二小的值不存在的话,输出 -1 。 示例 1: 输入: 2 / \ 2 5 / \ 5 7 输出: 5 说明: 最小的值是...

汤庆 857

671. Second Minimum Node In a Binary Tree(python+cpp)

题目: Given a non-empty special binary tree consisting of nodes with the non-negative value, where each node in this tree has exactly two or zero sub-node. If the node has two sub-nodes, then this node...

小湉湉的博客 317

leetCode671

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ cla...

剑似生平 203

python-leetcode-671-合并二叉树

描述: 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 示例 1: 注意: 合并必须从两个树的根节点开始。 代码如下: # Definition for a binary tree node. # c...

chen_mushi的博客 401

[Leetcode] 671. Second Minimum Node In a Binary Tree 解题报告

题目: Given a non-empty special binary tree consisting of nodes with the non-negative value, where each node in this tree has exactly two or zero sub-node. If the node has two sub-nodes, then thi

魔豆(Magicbean)的博客 463
上一篇: [集群配置]macOS Flume+kafka单机安装连接
下一篇: [LeetCode]669. Trim a Binary Search Tree解法及python代码
jackhell0
博客等级 码龄9年 2粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值