
Leecode算法研究
棒棒的小笨笨
一个想分享技术、想飞的小笨笨
展开
-
LeetCode 206.反转链表4种方法图解(①就地反转②头插法③迭代法④递归法)Java语言
LeetCode 206.反转链表4种方法图解(①就地反转②头插法③迭代法④递归法)Java语言输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?①就地反转就地反转即:不增加新的链表在该链表上进行反转原链表:dumm...原创 2019-03-28 18:59:14 · 844 阅读 · 1 评论 -
LeetCode92. 反转链表 II------Java语言
92. 反转链表 II要求:反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL该题目是LeetCode 206. 反转链表的升级版分析:①题目要求时间...原创 2019-03-31 17:33:11 · 529 阅读 · 0 评论 -
leetcode 225. 用队列实现栈(图解)----JAVA语言详解
使用队列实现栈的下列操作:push(x) – 元素 x 入栈pop() – 移除栈顶元素top() – 获取栈顶元素empty() – 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。你所使用的语言也许不支持队列。 你可以使用 list 或者 deque...原创 2019-04-12 13:01:20 · 347 阅读 · 0 评论 -
回溯经典例题:LeetCode 78.subsets和LeetCode 90.subsets2----Java代码
LeetCode78.subsets给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集回溯思想如下图:用递归方法求解:1.两次递归调用(Java代码)class Solution { public List<List<Integer>> subsets(int[] nums) { Arr...原创 2019-05-05 18:14:22 · 220 阅读 · 0 评论 -
LeetCode 155.最小栈-----Java(图解)超详细!
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。思路:看到该题目,如果一次次遍历求出最小值的时间复杂度是O(n),现采用时间复杂度为O(1)的算法进行求解该题目。过程如下:图4,如果-5弹出,我们希望最小值为...原创 2019-04-13 11:27:54 · 750 阅读 · 0 评论 -
LeetCode 232.用栈实现队列----Java图解 超详细!!!
使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。说明:你只能使用标准的栈操作 – 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。你所使用的语言也许不支持栈。你可以使用 li...原创 2019-04-12 16:58:23 · 270 阅读 · 0 评论 -
LeetCode40.组合总和------Java
给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解集为:[[1...原创 2019-05-06 11:20:48 · 269 阅读 · 0 评论 -
LeetCode114.二叉树展开为链表------java语言
题目要求:将二叉树转化为只有右子树的二叉树思路:(1)若二叉树左右子树均为空,则就根节点一个节点;(2)若右子树不为空,则新组成的二叉树的右子树的最后一个节点则为左子树的最后一层最右边的孩子,左子树为整棵树的右子树;(3)若左子树不为空,就寻找左子树是否有右孩子,如果有,则继续选择,直至找到左子树的最后一个右孩子,该节点的左子树置空,右子树指向当前树的右子树。(4)最后,根节点指向根...原创 2019-07-17 20:34:32 · 396 阅读 · 0 评论