- 博客(2)
- 收藏
- 关注
原创 对任意二叉树寻找第一条最长路径(Java)
题目描述:对任意给出的二叉树,求其最长路径;如图 ,其第一条最长路径为[1,2,5,6]我的解题思路是层次遍历+迭代保存每层最左边的节点ans;由于我利用HashMap记录了Map<当前节点值,节点的父亲值>,那么只要利用最后一次更新的节点ans去hashmap不断查找父节点即可,然后逆序输出即为答案。import java.util.*;class TreeNode{ int val; TreeNode left,right; pub.
2021-09-16 18:33:42
981
原创 棋盘的最短路径(障碍物、广度优先)
图的遍历常用来寻找最优路径,其中有一个经典的棋盘问题。问题描述:矩阵A代表棋盘,棋盘上散列了未知数目的障碍物(位于值为1的坐标上),你每次只能左右移动或者垂直移动一个单位,你需要找出从起始点坐标到终点坐标的最短路径。我们知道图的遍历方式有广度和深度,而寻找最短路径时利用广度优先可以更快找到,且节省了栈的空间;思路如下:1、判断起始点与终点坐标相等则返回0,无需移动,否则继续;2、将起始节点入队,队列每个元素保存的是{y,x,当前走过的步长step};3、在循环体中,将队头元素出队,取
2021-08-29 13:14:32
2020
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人