- 博客(69)
- 收藏
- 关注
原创 力扣-435.无重叠空间
用一个变量记录区间的分割点,然后用这个分割点去和下一个区间做比较,如果没有重叠,更新右边界,次数加一。利用快排,对数组右边界进行排序。然后更新右边界,继续进行比较。最后用总数减去不用更新的次数。
2023-12-06 18:13:11 132
原创 力扣-1005.K次取反后最大化的数组和
最后将K的次数消耗完(如果K取余2是奇数,说明还要对首个数进行取反)。然后将小于零并且K存在次数时将前K个负数转成正数。然后再将转换好的数组进行排序。
2023-12-03 15:48:53 20
原创 力扣-376.摆动序列
只有出现 顶峰(i - 1) < i > (i + 1) 或者 底部 ( i - 1) > i <( i + 1)时,再摆动记录。
2023-11-25 00:38:54 19
原创 力扣-669.修剪二叉搜索树
判断是否小于low,小于low,则将右节点返回给上一层(因为是二叉搜索树,左子节点会小于根节点,所以左子节点不在范围内了,而右子节点可能还是符合留下了的要求。同样,大于high的时候也是如此,返回大于high的左子节点。
2023-11-15 22:57:28 15
原创 700-二叉搜索树中的搜素
因为是二叉搜索树,所以根节点比左节点大,比右节点小。用递归比较两边节点的元素,如果节点大于该元素向左遍历,小于该元素向右遍历。
2023-11-13 23:47:12 16
原创 力扣-112.路径总和
在循环遍历的过程中,如果遇到叶子节点,而且targetsum正好等于0,那么就返回True,否则回溯道上一层。直到遍历完还没找到合适的路径,则返回False。
2023-11-12 22:08:24 14
原创 404.左叶子节点之和
该如何去判读该节点是否是左叶子,通过根节点来判断,如果该节点的的左右节点都为空,并且是上个节点的左节点,那么该节点就是左叶子。使用后序遍历的方法,判断节点是否为叶子节点,如果是叶子节点,则用该节点的根节点去获取该叶子节点的元素。
2023-11-10 19:15:02 78
原创 111. 二叉树的最小深度
所以要判断该节点是否还有左右节点,如果有,则继续向下遍历,如果没有,则改节点是最小深度。只有当该节点都没有左右子节点的时候,该深度才是最小深度。
2023-11-10 15:54:33 19
原创 104. 二叉树的最大深度
后序的遍历顺序是:左右中。一直将向左右节点一直遍历,最后将高度取最大值加上根节点,就是树的深度。使用后序遍历的方法,遍历到书的高度,末尾到根节点的高度就是树的深度。
2023-11-10 14:19:26 13
原创 力扣-144. 二叉树的前序遍历
此时处理节点,先把中节点放入栈中,判断栈是否为空,不为空则将栈顶的元素弹出,判断元素是否为空,不为空则加入数组,然后将右节点跟左节点压入栈中。如果为空,则不将元素加入数组。思路:创建栈来处理根节点的元素,当根节点不为空时,将根节点压入栈中,由于栈的性质(先进后出),所以先将节点的右节点压入栈中,然后再压入左节点。
2023-11-09 03:32:16 20
原创 力扣-144. 二叉树的前序遍历
使用递归来实现,前序遍历的的顺序是中左右,所以从中间节点开始遍历,再遍历左节点在遍历右节点,遍历完之后从左子树的中节点开始遍历,以此类推,直到遍历到NULL。
2023-11-09 00:30:25 16
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人