摘要:
图 200. 岛屿数量 思路 遍历二维数组,遇到等于1的进行计算。同时修改同岛的位置为0,避免重复计算 遍历同岛的位置,可以采用dfs深度优先搜索 代码 char[][] g; public int numIslands(char[][] grid) { int sum = 0; g = grid; 阅读全文
摘要:
栈与队列 232. 用栈实现队列 思路 使用两个栈 一个栈负责队列的push存元素,将里面的元素pop后放在另外一个栈。此时,另外一个栈最上面的就是最先放入,可用来做队列的pop 代码 public MyQueue() { pushSt = new Stack<>(); popSt = new St 阅读全文
摘要:
链表 707. 设计链表 解题思路 参考官方的单向链表,设置一个成员变量作为虚拟头节点,一个成员变量size保存有效节点数 代码 public MyLinkedList() { size = 0; head = new ListNode(0); } public int get(int index) 阅读全文
摘要:
704. 二分查找 解决思路 基于数组有序的特性,取其中一个值进行比较,即可淘汰该值左边或右边的元素,缩小搜索的区间 使用两指针标记需要遍历的区间,取中间值进行比较,淘汰左边或右边元素,不断移动缩小遍历的区间,即可查到 代码 public int search(int[] nums, int tar 阅读全文