class Solution(object):
def findSecondMinimumValue(self, root):
"""
:type root: TreeNode
:rtype: int
"""
self.sec=root.val
self.min=root.val
def rec(root):
if not root:
return 0
if root.val<self.min:
self.sec=self.min
self.min=root.val
elif self.min<root.val<self.sec:
self.sec=root.val
elif self.sec==self.min and root.val>self.min:
self.sec=root.val
rec(root.left)
rec(root.right)
return self.sec
out=rec(root)
if self.min<self.sec: return out
else: return -1