博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] 671. Second Minimum Node In a Binary Tree
阅读量:6377 次
发布时间:2019-06-23

本文共 1410 字,大约阅读时间需要 4 分钟。

Problem

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 value is the smaller value among its two sub-nodes.

Given such a binary tree, you need to output the second minimum value in the set made of all the nodes' value in the whole tree.

If no such second minimum value exists, output -1 instead.

Example 1:

Input:     2   / \  2   5     / \    5   7Output: 5Explanation: The smallest value is 2, the second smallest value is 5.

Example 2:

Input:     2   / \  2   2Output: -1Explanation: The smallest value is 2, but there isn't any second smallest value.

Solution

class Solution {    public int findSecondMinimumValue(TreeNode root) {        if(root == null || root.left == null) return -1;                int leftRes, rightRes;        if (root.left.val == root.val) {            leftRes = findSecondMinimumValue(root.left);        } else {            leftRes = root.left.val;        }        if (root.right.val == root.val) {            rightRes = findSecondMinimumValue(root.right);        } else {            rightRes = root.right.val;        }                if (leftRes == -1 && rightRes == -1) return -1;        else if (leftRes == -1) return rightRes;        else if (rightRes == -1) return leftRes;        else return Math.min(leftRes, rightRes);    }}

转载地址:http://fyxqa.baihongyu.com/

你可能感兴趣的文章
Oracle发布公共云Public Cloud
查看>>
表驱动
查看>>
eclipse高亮显示
查看>>
Shell 操作数据库
查看>>
if lte IE if gte IE 浏览器兼容
查看>>
基于Lumisoft.NET组件和.NET API实现邮件发送功能的对比
查看>>
C#数据库访问技术之DATAREADER对象读取数据
查看>>
各种排序方法
查看>>
编译时程序透彻理解异常并合理使用异常
查看>>
2013年5月18日星期六
查看>>
js 字符串操作函数集合
查看>>
nullnullCF 312B(Archer-等比数列极限求和)
查看>>
消息函数windows 程序设计 第三章 (下)
查看>>
java中调用web中的jsp或servlet去通知它们做一些操作
查看>>
Javascript 坦克大战
查看>>
JavaScript自动设置IFrame高度(兼容各主流浏览器)
查看>>
Linux内核中__init, __initdata, __initfunc(), asmlinkage, ENTRY(), FASTCALL()等作用
查看>>
leetcode -- Two Sum
查看>>
Windows多线程
查看>>
Resolve PSExec "Access is denied"
查看>>