leetcode 141. 环形链表

1234567891011121314151617181920212223242526272829/** * Definition for singly-linked list. * function ListNode(val) { * ...

快速排序算法

利用递归,划分子区间

前中后缀表达式

中缀表达式:运算符夹在操作数中间,比如 A + B。我们平时最常用的就是这种表达方式。 后缀表达式(也叫逆波兰表达式):运算符放在操作数的后面,比如 A B +。这种方式没有括号,计算顺序完全取决于操作符的先后位置。

77.组合,216.组合总和III,17.电话号码的字母组合

77.组合 代码随想录 leetcode 可以用回溯,但不知道如何回溯 定义了两个数组,一个用于函数返回的结果,一个用于记录返回结果的单元即数组的元素,在分析出这个题用回溯算法可以解决后,第一步需要做的就是定义变量,代码就是根据多种定义的变量编写的逻...

235.二叉搜索树的最近公共祖先,701.二叉搜索树中的插入操作,450.删除二叉搜索树中的节点

​235. 二叉搜索树的最近公共祖先  只能想到普通的二叉树搜索最近的公共祖先的方法,不知道如何利用二叉搜索树的性质。 二叉搜索树根节点的值大于左子树的所有值小于右子树的所有值,从上到下便利到第一个位于p,q区间内的说明p,q位于当前便利节点的两...

530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236.二叉树的最近公共祖先

​530.二叉搜索树的最小绝对差 第一遍没有看懂题, 用层序遍历将所有树节点保存到一个数组中,然后依次遍历数组中每一个元素(即节点),将节点值作为基准元素递归遍历以这个节点为根节点的二叉树,计算根节点和当前遍历节点的值差的绝对值,然后和全局最小值进...

654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树

​654.最大二叉树 不知道咋做。 找到数组最大值,将数组划分为左右数组,然后递归构造二叉树,当数组长度为1时,构造二叉树节点然后返回。 在递归生成左右子树时需要判断划分的数组长度是否不为1,生成的节点递归创建左右子树有意义。 用了一天的零散...

513.找树左下角的值,112. 路径总和,106.从中序与后序遍历序列构造二叉树

​513.找树左下角的值 层序遍历可以做,不知道用递归咋做。 2.认真读题,首先是必须同时满足深度最大和左边两个条件,通过一个全局变量maxDepth保存最大深度,result保存最大深度对应的节点值,这个值必须是左节点,本题没有对中节点的处理逻...

110.平衡二叉树,257.二叉树的所有路径,404.左叶子之和,222.完全二叉树的节点个数

​110.平衡二叉树 (优先掌握递归) 不知道咋做。 在求二叉树的高度的代码上改,二叉树的高度肯定是大于等于0的,这里利用高度不可能是-1但可以表示当前子树不是平衡二叉树,子树不是平衡二叉树递归回来也不是平衡二叉树。 3. 在求二叉树的高度的...

226.翻转二叉树,101.对称二叉树,104.二叉树的最大深度,111.二叉树的最小深度

​226.翻转二叉树 根节点可以交换左右指针,其他层逻辑不清楚,觉得应该不是简单的交换指针。 从下到上,依次交换节点的左右指针即可,关键在于选择遍历顺序,可以选择前序遍历和后序遍历,后续遍历(左右中,右左中)是先处理下层节点再处理当前层节点,处理...

123