[leetcode] Recover Binary Search Tree
来源:互联网 发布:db2查询数据库里 的表 编辑:程序博客网 时间:2024/06/06 16:58
Two elements of a binary search tree (BST) are swapped by mistake.
Recover the tree without changing its structure.
Note:A solution using O(n) space is pretty straight forward. Could you devise a constant space solution?
confused what "{1,#,2,3}"
means? > read more on how binary tree is serialized on OJ.
思路:对BST进行中序遍历,如果是正常的BST,则是顺序遍历。但因为有两个节点交换了,分两种情况,如果只遇到一个节点不满足前节点比后节点小,则该节点和前一个相邻节点交换了,如果遇到两个,则是这两个节点交换了。
#Definition for a binary tree node#class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: # @param root, a tree node # @return a tree node pre = None err1 = None err2 = None def inorder(self,node): if node == None: return self.inorder(node.left) if self.pre != None and node.val < self.pre.val: if self.err1 == None: self.err1 = self.pre self.err2 = node else: self.err2 = nodeself.pre = node self.inorder(node.right) def recoverTree(self, root): self.inorder(root) tmp = self.err1.val self.err1.val = self.err2.val self.err2.val = tmp return root
0 0
- LeetCode: Recover Binary Search Tree
- LeetCode: Recover Binary Search Tree
- [Leetcode] Recover Binary Search Tree
- [LeetCode] Recover Binary Search Tree
- [Leetcode] Recover Binary Search Tree
- [leetcode] recover binary search tree
- LeetCode -- Recover Binary Search Tree
- [LeetCode]Recover Binary Search Tree
- [LeetCode] Recover Binary Search Tree
- LeetCode:Recover Binary Search Tree
- [Leetcode]Recover Binary Search Tree
- Leetcode: Recover Binary Search Tree
- LeetCode-Recover Binary Search Tree
- [leetcode] Recover Binary Search Tree
- [LeetCode] Recover Binary Search Tree
- 【Leetcode】Recover Binary Search Tree
- Leetcode Recover Binary Search Tree
- LeetCode | Recover Binary Search Tree
- The Importance of the End to End Automation Testing Tool
- Android SDK更新 Connection to http://dl-ssl.google.com refused 解决方法
- 在Windows下搭建Android开发环境
- centos 安装 openfire
- [水题][第一阶段-英文题试水][HDOJ-2104]hide handkerchief
- [leetcode] Recover Binary Search Tree
- 让你的WordPress简单实现全站Ajax
- 大理高铁站订票热线电话是多少
- java轻量级IOC框架Guice
- 简单理解算法篇--摊还分析
- Java集合之HashMap源码实现分析
- JBoss部署Spring 4的问题
- 漫谈程序员系列:那些害死程序员的细节
- Kalman 滤波器