定义: 二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是...[作者空间]
思想: 遵循以下原则1.当前结点cur没有左子树,当前结点cur向右移动2.当前结点cur有左子树,找到当前结点左...[作者空间]
题目: 思路: 先解释何为字典序,借用百度百科 首先我们一般都会想到,一个数组,要把所有元素组合起来,字典序最小,...[作者空间]
问题: 补充: 用一个双端链表,保证头部一直是当前的最大值,双端链表,左边是头部,右边是尾部,保证从头部到尾部是严...[作者空间]
题目: 思路: 把[0,k-1]位置和[k,arr.length-1]位置的字符串逆序,再把整体逆序即为最后结果 代码:[作者空间]
题目: 思路: 创建一个新的字符串=str1+str1,然后用kmp看新生成的字符串里是否包含str2,包含就说明...[作者空间]
题目: 思路: 首先要知道,子数组在原数组中的位置必须是连续的!最简单的方法:设置两个变量,一个变量cur,记录当...[作者空间]
题目: 思路: 差绝对值最大,即找出最大的数减去一个数首先找出所有数中的最大值,找出来之后分两种情况1.该最大值属...[作者空间]
EG1: 题目: 思路1:先用递归,比如我要求i,j位置的值,那么无非两种情况,到(i,j)位置的最小值不是从上面...[作者空间]
思想:一个大问题,是通过子问题尝试的方式来解决的。 EG1:求n!的结果 思路: 如果用递归的思想,就把他划分为n...[作者空间]
题目: 题目解析: 根据题目可以画出上图,上图中阴影部分即可以装水的部分,传统的思路是找凹槽,但是这种思路有瓶颈比...[作者空间]
题目: 思路1: 建立一个辅助的HashMap
题目: 思路1: 把单向链表转化为结点数组,利用数组的partition过程(快排中),划分成要求的大于区小于区等...[作者空间]
Edge: Node: Graph:[作者空间]
题目: 思路1: 需要建立一个辅助栈,把链表入栈,如果链表从头节点开始和每次弹出的节点相同,说明是回文结构 代码一...[作者空间]
题目: 思路: 如果当前结点值相等,就打印,然后同时后移,如果一方大,另一方就向后移。 代码:[作者空间]
题目: 思路: 取右上角的点或者左下角的点作为起始点,因为是排序好的数组,在这里我们取右上角的点作为基本点,如果当...[作者空间]
题目: 思路: 还是整体看,从最左上角开始定义两个点a,b,每打印一轮就把a的列数+1,b的行数+1,具体操作如下...[作者空间]
要求: 打印旋转90度后的n*n的矩阵 思路: 依旧用整体的思想,具体实现如下图 代码:[作者空间]
题目: 思路: 这种题目不要仅仅局限在看一部分的坐标怎么变得,要宏观来看,打印一圈的函数容易写吧,就是以左上角和右...[作者空间]