码迷,mamicode.com
首页 > 其他好文 > 详细

Catalan数

时间:2020-08-08 17:37:22      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:括号   img   二叉树   com   问题   序列   mic   lan   匹配   

99. 恢复二叉搜索树

二叉搜索树有个性质就是终须遍历时肯定是升序排列。

1 2 5 4 3 可以看到如果乱序了,那么这两个乱序节点肯定是先大后小。对于第一个节点,它属于大的那个,对于第二个节点,它属于小的那个。

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):
    
    def recoverTree(self, root):
        """
        :type root: TreeNode
        :rtype: None Do not return anything, modify root in-place instead.
        """
        self.node1 , self.node2 , self.pre = None,None,None
        def dfs(root):
            if root is None: return
            dfs(root.left)
            if self.pre and self.pre.val > root.val and self.node1 is None:
                self.node1 = self.pre
            if self.pre and self.pre.val > root.val and self.node1:
                self.node2 = root
            self.pre = root
            dfs(root.right)
        dfs(root)
        self.node1.val ,self.node2.val = self.node2.val, self.node1.val

 

Catalan数

标签:括号   img   二叉树   com   问题   序列   mic   lan   匹配   

原文地址:https://www.cnblogs.com/qqq1112/p/13457547.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!