这是悦乐书的第285次更新,第302篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第153题(顺位题号是671).给定非空的特殊二叉树,其由具有非负值的节点组成,其中该树中的每个节点具有恰好两个或零个子节点. 如果节点具有两个子节点,则该节点的值是其两个子节点中的较小值.给定这样的二叉树,您需要输出由整个树中所有节点的值组成的集合中的第二个最小值.如果不存在这样的第二个最小值,则输出-1.例如: 2 / \ 2 5 / \ 5 7 输出:5 2 / \ 2 2 输出…
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 找出所有值再求次小值 遍历时求次小值 日期 题目地址:https://leetcode.com/problems/second-minimum-node-in-a-binary-tree/description/ 题目描述 Given a non-empty special binary tree consisting of nodes with t…
题目在这里,要求一个二叉树的倒数第二个小的值.二叉树的特点是父节点的值会小于子节点的值,父节点要么没有子节点,要不左右孩子节点都有. 分析一下,根据定义,跟节点的值肯定是二叉树中最小的值,剩下的只需要找到左右子树中比跟节点大的最小值就可以了.对于这个题目,还是考察的二叉树的搜索,第一印象是BFS.使用一个辅助队列存储遍历过程中的节点,遍历过程中,如果节点的值比结果中第二小的值还大,就不用继续把该节点及其所有的子节点入队了,这样可以节省时间.这里的辅助队列使用的是deque,在两端存取数据的复杂度…
1.题目描述 2.问题分析 使用set. 3.代码 set<int> s; int findSecondMinimumValue(TreeNode* root) { dfs(root); vector<int> v; for (set<int>::iterator it = s.begin(); it != s.end(); it++) { v.push_back(*it); } sort(v.begin(), v.end()); ? v[] : -; } void d…
671. 二叉树中第二小的节点 671. Second Minimum Node In a Binary Tree 题目描述 给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0.如果一个节点有两个子节点的话,那么这个节点的值不大于它的子节点的值. 给出这样的一个二叉树,你需要输出所有节点中的第二小的值.如果第二小的值不存在的话,输出 -1. 每日一算法2019/5/12Day 9LeetCode671. Second Minimum Node In a Bin…
problem 671. Second Minimum Node In a Binary Tree 参考 1. Leetcode_easy_671. Second Minimum Node In a Binary Tree; 完…
[leetcode]1379. Find a Corresponding Node of a Binary Tree in a Clone of That Tree 链接 leetcode 描述   Given two binary trees original and cloned and given a reference to a node target in the original tree.   The cloned tree is a copy of the original tr…
这是悦乐书的第319次更新,第340篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第188题(顺位题号是806).我们要将给定字符串S的字母从左到右写成行.每行最大宽度为100个单位,如果写一个字母会导致该行的宽度超过100个单位,则会写入下一行.给出一个数组宽度,一个数组,其中widths[0]是'a'的宽度,widths[1]是'b'的宽度,widths[25]是'z'的宽度. 现在回答两个问题:S中至少有一个字符有多少行,最后一行使用的宽度是多少?将答案作为长…
这是悦乐书的第306次更新,第326篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第175题(顺位题号是744).给定一个仅包含小写字母的有序字符数组,并给定目标字母目标,找到数组中大于给定目标字符的最小元素.例如,如果目标是target ='z'并且letters = ['a','b'],则答案是'a'.例如: 输入:letters = ["c","f","j"],target ="a" 输出:…
这是悦乐书的第296次更新,第315篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第164题(顺位题号是703).设计一个类来查找流中第k个最大元素.请注意,它是排序顺序中的第k个最大元素,而不是第k个不同元素.KthLargest类有一个构造方法,此构造方法有一个整数k和一个整数数组nums两个参数,它包含来自流的初始元素.对于方法KthLargest.add的每次调用,返回表示流中第k个最大元素的元素.例如: int k = 3; int [] arr = [4…