- 博客(8)
- 收藏
- 关注
原创 中序后序确定二叉树(大数据版)
跟之前做的题不一样,数据范围大,开结点数组存储树节点会导致错误。所以利用map把中序遍历的下标存下来就好了,其他的还是与之前写过的类似。给定二叉树的后序遍历和中序遍历,请你输出二叉树的前序遍历的最后一个数字。假设二叉树上各结点的权值互不相同且都为正整数。二叉树结点权值范围 [1,1e9]。
2025-02-16 17:35:39
271
原创 二叉树的最近公共祖先
中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。
2025-02-15 21:05:35
262
原创 腐烂的橘子(leetcode994)
在求腐烂的时间问题上需要注意,若移动到某格,四个方向都不可移动,仍然会造成时间加一,找了好久发现这个地方,可以通过一个flag变量,来标记是否能够移动,能移动的话flag标记为1,四个方向都不能的话标记0,只有在flag为1的情况下,腐烂时间再进行+1。多源广度优先遍历,与一般遍历相比,就只需要先遍历整个图找到多个腐烂的橘子(起点),然后加入队列即可。例如 [ [0,2] ];此时只有一个坏橘子,从坏橘子坐标开始遍历,发现四个方向都不可移动,但是变坏时间却会+1。的新鲜橘子都会腐烂。
2025-02-14 17:58:26
652
原创 岛屿数量(leetcode200)
过程为:在遍历整个图的时候,在遍历到1时,进行广度搜索遍历,搜索遍历所遇到的1全改为0;当这次广度遍历不再遍历到1时,则本次广度遍历结束,岛屿数量加一。遍历完整个图,只需要知道进行了多少广度优先遍历即可。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。(水)组成的的二维网格,请你计算网格中岛屿的数量。此外,你可以假设该网格的四条边均被水包围。
2025-02-14 14:36:45
426
原创 满二叉树和完全二叉树判定
若根节点高度0,根据满二叉树定义,每层(高度为high)的节点数为pow(2,high),利用该点性质,采用层序遍历,仅需判断每层的点数是否满足定义即可。
2025-01-19 22:23:01
291
原创 中国象棋-马-有障碍
现有一个n∗m大小的棋盘,在棋盘的第x行第y列的位置放置了一个棋子,其他位置中的一部分放置了障碍棋子。棋子的走位参照中国象棋的“马”(障碍棋子将成为“马脚”)。求该棋子到棋盘上每个位置的最小步数。注1:中国象棋中“马”的走位为“日”字形,如下图所示。注2:与“马”的棋子会成为“马脚”,“马”不能往以“马”=>“马脚”为的方向前进,如下图所示。
2025-01-15 14:21:33
481
原创 迷宫问题-传送点
现有一个n∗m大小的迷宫,其中1表示不可通过的墙壁,0表示平地,2表示传送点。每次移动只能向上下左右移动一格,且只能移动到平地或传送点上。当位于传送点时,可以选择传送到另一个2处(传送不计入步数),也可以选择不传送。求从迷宫左上角到右下角的最小步数。
2025-01-13 20:21:10
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人