加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

671.Second Minimum Node In a Binary Tree

发布时间:2020-12-14 04:15:41 所属栏目:大数据 来源:网络整理
导读:Given a non-empty special binary tree consisting of nodes with the non-negative value,where each node in this tree has exactly?twoor?zero?sub-node. If the node has two sub-nodes,then this node‘s value is the smaller value among its two su
Given a non-empty special binary tree consisting of nodes with the non-negative value,where each node in this tree has exactly?twoor?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   7

Output: 5
Explanation: The smallest value is 2,the second smallest value is 5.

Example 2:?
Input: 
    2
   /   2   2

Output: -1
Explanation: The smallest value is 2,but there isn‘t any second smallest value.

for left and right sub-node,if their value is the same with the parent node value,need to using recursion to find the next candidate,otherwise use their node value as the candidate.

public int findSecondMinimumValue(TreeNode root) {
    if (root == null) {
        return -1;
    }
    if (root.left == null && root.right == null) {
        return -1;
    }
    
    int left = root.left.val;
    int right = root.right.val;
    
    // if value same as root value,need to find the next candidate
    if (root.left.val == root.val) {
        left = findSecondMinimumValue(root.left);
    }
    if (root.right.val == root.val) {
        right = findSecondMinimumValue(root.right);
    }
    
    if (left != -1 && right != -1) {
        return Math.min(left,right);
    } else if (left != -1) {
        return left;
    } else {
        return right;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读