上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 31 下一页
摘要: ☆☆☆方法1:递归 ☆☆☆方法2:BFS。使用两个队列,分别存储将要遍历的节点,以及根节点到这些节点的路径和。 拓展练习:打印路径 >LeetCode113. 路径总和 II、 剑指24.二叉树中和为某一值的路径 class Solution { public boolean hasPathSum( 阅读全文
posted @ 2020-12-22 12:04 不学无墅_NKer 阅读(53) 评论(0) 推荐(0) 编辑
摘要: ☆☆☆思路:剑指18.二叉树的镜像 方法1:递归。二叉树此类递归问题,要以根节点为目标点进行分析。 思路1:首先分别翻转根节点的左右子树,然后交换左右子树的位置即可。 思路2:也可以先交换左右子树的位置,然后再分别翻转根节点的左右子树。 方法2:BFS层序遍历 层序遍历树的所有节点,然后交换其左右节 阅读全文
posted @ 2020-12-22 10:12 不学无墅_NKer 阅读(68) 评论(0) 推荐(0) 编辑
摘要: ☆☆☆方法1:递归,需要注意二叉树退化成链表的情况,要单独处理没有左子树或没有右子树的特殊情况 方法2:BFS。二叉树层序遍历 ☆☆☆方法3:DFS class Solution { int min = Integer.MAX_VALUE; public int minDepth(TreeNode 阅读全文
posted @ 2020-12-21 20:44 不学无墅_NKer 阅读(79) 评论(0) 推荐(0) 编辑
摘要: class Solution { public int maxDepth(TreeNode root) { /** * 方法1:递归 */ if (root == null) return 0; int left = maxDepth(root.left); int right = maxDepth 阅读全文
posted @ 2020-12-21 19:51 不学无墅_NKer 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 方法1:使用优先队列合并 方法2:分治法,两两合并 代码1:优先队列 class Solution { public ListNode mergeKLists(ListNode[] lists) { /** * 方法1:使用优先队列 * 把链表的头结点都放进去,然后出队当前优先队列中最小的,接上链表 阅读全文
posted @ 2020-12-20 18:41 不学无墅_NKer 阅读(69) 评论(0) 推荐(0) 编辑
摘要: ☆☆☆☆☆思路:本题是127题的进阶版,需要将找到的最短路径存储下来。 方法1:BFS。在到达最短路径所在的层时,记录并输出所有符合条件的路径。 1. 127题的队列只存储每一层的元素,本题中队列需要存储每层添加元素之后的结果。 2. 如果该层添加的某一个单词符合目标单词,则该路径为最短路径,该层为 阅读全文
posted @ 2020-12-20 17:26 不学无墅_NKer 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 为什么要用BFS? 无向图求最短路,广搜最为合适,广搜只要搜到了终点,那么一定是最短的路径。因为广搜就是以起点中心向四周扩散的搜索。 本题是一个无向图,需要用标记位,标记着节点是否走过,否则就会死循环! ☆☆☆方法1:BFS ☆☆☆☆方法2:双向BFS,减少搜索空间大小。 BFS的搜索空间大小依赖于 阅读全文
posted @ 2020-12-20 14:33 不学无墅_NKer 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 首先不能使用贪心算法,以12为例,如果用贪心则为 12 = 9 + 1 + 1 + 1, 与实际情况12 = 4 + 4 + 4不符。 ☆☆☆☆思路1: BFS。 一层一层的算,第一层依次减去一个平方数得到第二层,第二层依次减去一个平方数得到第三层。直到某一层出现了 0,此时的层数就是我们要找到平方 阅读全文
posted @ 2020-12-19 22:23 不学无墅_NKer 阅读(98) 评论(0) 推荐(0) 编辑
摘要: class Solution { public List<Integer> rightSideView(TreeNode root) { List<Integer> res = new ArrayList<>(); if (root == null) return res; Queue<TreeNo 阅读全文
posted @ 2020-12-19 21:10 不学无墅_NKer 阅读(47) 评论(0) 推荐(0) 编辑
摘要: class Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> res = new ArrayList<>(); if (root == null) return re 阅读全文
posted @ 2020-12-19 21:06 不学无墅_NKer 阅读(84) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 31 下一页