LeetCode
a_Gen!
种一棵树最好的时间是十年前,其次是现在!
展开
-
LeetCode 752.打开转盘锁(模拟最短路径问题)
这道题是在LeetCode探索,队列&栈模块中刷到的,属于广度优先搜索的题目。之前没有接触过此类题目,因此用普通的广搜思想,做题的时候表示一脸懵逼,后无奈看了一波题解,将解题的思路记入博客中,方便日后复习诸如此类的问题。小伙伴们对于代码有什么疑惑或者改进的地方,欢迎在评论区留言哈!算法:广度优先搜索数据结构:队列+哈希表解题思路:①把问题转化成图的最短路径问题,这里的最短路径...原创 2020-01-08 03:12:05 · 195 阅读 · 0 评论 -
LeetCode 94.144.145. 使用递归和非递归方式解决二叉树的三种遍历问题
二叉树的遍历问题可以说是基础内容,而且必须要掌握的,下面我将使用递归和辅助栈的方式来实现二叉树的前、中、后序遍历!具体的理论和实现思路,可以看一下左神的算法面试课程中的二叉树(1),再进行编码和实践,有啥疑惑可以评论区留言哈!1 使用递归方式实现三种遍历方式1.1 前序遍历遍历方式: 根 -> 左 -> 右class Solution {public: vector&l...原创 2020-01-01 00:04:36 · 196 阅读 · 0 评论 -
LeetCode 102. 二叉树的层次遍历(广度优先搜索 || 深度优先搜索)
二叉树的层次遍历,一般都是使用bfs按层遍历,本题主要是注意一下二叉树中每一层的长度。但是使用dfs也是一种挺不错的方法!(时间复杂度和空间复杂度是直接抄官方的,dfs使用递归容易爆栈,bfs是额外开了一个队列,长度接近于n)。有什么错误的地方,欢迎大佬们指正哈!!方法一:广度优先搜索(bfs)/** * Definition for a binary tree node. * st...原创 2019-12-26 19:02:02 · 340 阅读 · 0 评论 -
LeetCode探索:初级算法(数组篇第一刷)
近来打算系统地学习一波数据结构与算法,因此根据LeetCode官方推出地经典面试题目清单开始刷题。本篇文章记录了初级算法中的数组篇,为了追求速度,我先大概地过一遍,每道题没有去分析多种解法,可能不是最优解,仅仅为我做题时的思路,若有什么错误的地方,欢迎大佬们指正哈!ps:第一次写博客,格式之类的难免有所欠妥,还请大家谅解!从排序数组中删除重复项解法:双指针解析:题中数组是有序的,因此重...原创 2019-12-10 14:51:12 · 454 阅读 · 0 评论 -
LeetCode 200. 岛屿数量(深度优先搜索 || 广度优先搜索)
近期主要学习队列和栈,使用dfs和bfs解决问题,并查集还没有学过,所以这道题只使用了前面两种方法。岛屿数量可以说是入门级的搜索题目了,因此将解题思路记录于博客,方便以后复习!题目描述:给定一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。方法一:深度优先搜索(d...原创 2019-12-26 15:32:36 · 347 阅读 · 0 评论