- 博客(7)
- 收藏
- 关注
原创 二叉搜索树与双向链表&二叉树展开为链表
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 这题属于看懂思路再来一遍还是不会的题目。纠结的比较久是因为我对链表和python不太熟悉。关键是中序遍历和递归。copy人家的做法。 核心算法依旧是中序遍历 不是从根节点开始,而是从中序遍历得到的第一个节点开始 定义两个辅助节点listHead(链表头节点)、li...
2019-06-21 11:15:19 265
原创 复杂链表的复制&复制带随机指针的链表
题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 将复杂问题分解成小问题。这题也是。首先将原链表每个结点N复制一个N',插在N结点后面。第二部将random也跟上。第三步拆解链表。 一开始我这道题自己编写一直过不...
2019-06-20 18:56:54 121
原创 栈的压入,弹出序列
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 做法是做一个辅助栈。如果弹出序列第一个数字与栈顶元素相同,则栈顶弹出,否者将...
2019-06-19 17:17:03 102
原创 树的子结构&树的子树
前者是剑指offer上的题目,后者属于力扣。主要差别就在于对于以下例子,前者返回True,后者返回False。 3 4 / \ / \ 4 5 ...
2019-06-07 22:14:11 298
原创 链表中倒数第k个结点
题目是很简单,主要是考验代码的鲁棒性,比如链表是空怎么办?k是0,或k的值大于链表总长度? 主要办法是双指针,第一个指针先往前走k步,然后第二个指针从头出发。两个指针之间的差距为k-1,所以当第一指针走到尾结点时,第二个指针正好处于倒数第k个位置。 在力扣上,这道题变成删除结点,需要考虑的情况更多了。 ...
2019-05-26 22:26:38 127
原创 螺旋矩阵python
给定一个包含mxn个元素的矩阵(m行,n列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例1: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,3,6,9,8,7,4,5] 好吧,终于有一题是自己做的了。主要想法就是周围一周循环一次,每循环一次删掉矩阵的第一列,第一行,最后一列最后一行。这样每次的循环...
2018-12-28 20:09:24 707
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人