Leetcode
Moyiii
Simplify the knowledge and deepen your mind.
展开
-
Leetcode99 恢复二叉搜索树
写在题目前的话:第一次写这个博客以后我发现我理解错了题目,但是我的问题更具有一般性,更复杂,所以文章就不改了题目:只有两个结点被错误的交换。我的:有任意多个结点被错误的交换。题目:先分析题目:使用O(n)空间复杂度的解法很容易实现,那么我们先看看很容易实现是怎实现的。算法1:1、中序遍历二叉树,并将中序序列保存在一个数组Numbers中2、对Numbesr进...原创 2018-08-02 11:15:24 · 1541 阅读 · 1 评论 -
Leecode116 填充同一层的兄弟节点
题目描述分析这个题目leetcode难度定义为中等,也就是说官方认为这不是一道非常难的题目,需要一些技巧性。首先,我们应当具有的基础是,知道树的深度优先遍历(先序,中序,后序)、广度优先遍历(对树来说也可称为层次优先)。题目要求使用常数空间复杂度,因此个人猜测,题目其实是不希望通过层次遍历的方法去解决这个题目的。这里暂且不讨论层次遍历所需要的队列结构是否属于允许范围内的开销,就递归...原创 2018-08-03 15:58:26 · 403 阅读 · 0 评论 -
Leetcode117 填充同一兄弟结点II
不得不说,之前在做[116 填充同一兄弟节点I]的时候,没有思考那么多,被做题的兴奋冲昏了头脑,很想当然的把题目I的完全树想象成可以用完全树绝对坐标的性质做点事情。但到题目二的时候,我才发现这个问题的纠结所在。如果不是完全树,树中的某些结点为空的话,用题目I的算法是跑不通的。 分析如果有同学和我一样,最开始用先序遍历来解决这个问题的话,就会遇到和我一样的问题,如上图所示。按照先序序...原创 2018-08-17 11:32:31 · 651 阅读 · 2 评论