- 博客(5)
- 收藏
- 关注
原创 反转链表
反转链表 输入一个链表,反转链表后,输出新链表的表头。 使用三个指针的算法 1、cur——指向当前链表的头 2、next——指向cur.next,用于保存链表的值 3、pre——指向新链表 操作:cur.next=pre 得到如图效果 经过操作pre=cur,则pre指向1,cur=next,则cur指向2;一个过程完毕;逐步循环得到反转链表; 代码 public class Solution { public ListNode ReverseList(ListNode head) {
2020-09-02 10:39:27
163
原创 LeetCode题目分析矩阵——广度优先遍历BFS
BFS 广度优先遍历 今天第一次在LeetCode 上练习,题意如下: 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。 示例 1: 输入: 0 0 0 0 1 0 1 1 1 输出: 0 0 0 0 1 0 1 2 1 注意: 给定矩阵的元素个数不超过 10000。 给定矩阵中至少有一个元素是 0。 矩阵中的元素只在四个方向上相邻: 上、下、...
2020-08-30 16:39:28
336
原创 查找岛屿——深度优先遍历和广度优先遍历
给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示例 1: 输入: 11110 11010 11000 00000 输出: 1 示例 2: 输入: 11000 11000 00100 00011 输出: 3 解释: 每座...
2020-08-30 16:37:47
282
原创 快速排序——快速将字符串数组进行排序
快速排序 题目:输入一个字符串数组,使用快速排序进行排序; eg: ["text","next","do"] 排序后 ["do","next","text"] 一、快速排序的原理 快速排序其实就是快速的找到当前值在数组中的所在位置; 使用前后指针,low指向位置0,high指向lengh- 1位置; 开始排序: 1、将low指针指向的数值设置为基值tmp; 2、从high指针开始移动,当前数值大于基值tmp,high–;当前数值小于基值tmp,将high的值赋给low,low++; 3、low指针开始运
2020-08-30 16:33:54
2623
原创 查找一个字符串是否全部不同
实现一个算法,确定一个字符串 s 的所有字符是否全都不同。 示例 1: 输入: s = "leetcode" 输出: false 分析 根据set的内容不可重复性 public boolean isUnique(String astr) { Set<Character> set = new HashSet<>(); for (int i ...
2020-04-20 18:20:57
245
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅