LeetCode算法题
DwyaneQiang
这个作者很懒,什么都没留下…
展开
-
LeetCode字符串算法题——Java题解与思路
1.最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。题解思路:首先遍历数组,取到长度最短字符串作为比较基准。再次遍历数组对字符串元素进行与基准字符串等长截取,并比较字符串是否相同,如不相同截掉基准字符串的最后一个字符继续比较,直至取到公共前缀(空字符串)返回。此题可采用暴力破解方式,但耗时更长,内存消耗更多。public String longestCommonPrefix(String[] strs) { if.原创 2020-09-28 17:13:35 · 451 阅读 · 0 评论 -
LeetCode数组算法题——题解与思路
1.寻找数组的中心索引给定一个整数类型的数组nums,请编写一个能够返回数组 “中心索引” 的方法。我们是这样定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。题解思路:主要是遍历数组,当前元素左侧索引元素的和与右侧比较。效率较高的判断方式是:先求得数组所有元素的和,再遍历数组时将元素累加,判断sumLeft(i左侧元素的和) ==sum(总.原创 2020-09-22 14:40:11 · 658 阅读 · 0 评论 -
LeetCode栈和深度优先搜索(DFS)算法题——题解与思路
DFS深度优先搜索,递归模版/* * Return true if there is a path from cur to target. */boolean DFS(Node cur, Node target, Set<Node> visited) { return true if cur is target; for (next : each neighbor of cur) { if (next is not in visited) {原创 2020-09-17 14:52:45 · 404 阅读 · 0 评论 -
LeetCode栈结构算法题——题解与思路
1.最小栈设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。 pop()—— 删除栈顶的元素。 top()—— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。题解思路:采用两个数组,模拟栈存储元素的同时,比较每次入栈的值的大小将该阶段最小值同样以栈的形式存入数组中。每次获取最小值,只需取最小值栈的栈顶值即可。class MinStack { private List<..原创 2020-09-15 15:02:33 · 397 阅读 · 0 评论 -
LeetCode队列算法题——题解与思路
一、设计循环队列设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持如下操作:MyCircularQueue(k): 构造器,设置队列长度为 k 。 Front: 从队首获取元素。原创 2020-09-11 16:07:20 · 472 阅读 · 0 评论 -
LeetCode力扣链表算法题——题解与思路
目录链表双指针模版1.设计链表2.环形链表3.环形链表 II4.相交链表5.删除链表的倒数第N个节点6.反转链表7.移除链表元素8.奇偶链表9.回文链表10.设计链表(双链表)11.合并两个有序链表12.两数相加13.旋转链表14.复制带随机指针的链表(深拷贝)15.扁平化多级双向链表链表双指针模版// Initialize slow & fast pointersListNode slow = head;ListNo..原创 2020-06-16 15:37:30 · 1241 阅读 · 0 评论 -
LeetCode力扣二叉查找树卡片——题解与思路
二叉树问题的通用解题框架:1.验证二叉搜索树2.二叉搜索树迭代器3.Search in a Binary Search Tree4.Insert into a Binary Search Tree5.Delete Node in a BST6.Kth Largest Element in a Stream7.二叉搜索树的最近公共祖先8.存在重复元素 III9.平衡二叉树10.将有序数组转换为二叉搜索树原创 2020-06-09 11:19:55 · 460 阅读 · 0 评论 -
LeetCode力扣二叉树算法题——题解与思路
LeetCode力扣二叉树卡片算法题解与思路,包括:1.前序遍历2.中序遍历3.后序遍历4.层序遍历5.二叉树最大深度6.对称二叉树7.路径总和8.从中序与后序遍历序列构造二叉树9.从前序与中序遍历序列构造二叉树10.填充每个节点的下一个右侧节点指针11.填充每个节点的下一个右侧节点指针 II(非完美二叉树)12.二叉树的最近公共祖先13. 二叉树的序列化与反序列化原创 2020-06-04 15:43:22 · 2310 阅读 · 0 评论