Leetcode
文章平均质量分 76
每周至少刷7道力扣算法习题,旨在共同提高数据结构和算法相关的能力
一只有理想的程序猿
在嵌入式领域摸爬滚打的小菜鸟。
展开
-
数据结构和算法系列第2篇---栈的基本操作
目录前言一、栈的相关定义二、栈的顺序存储结构及实现三、栈的链式存储结构及实现栈的链式存储结构---进栈操作栈的链式存储结构---出栈操作实战运用1、回文链表2、有效的括号前言在软件应用中,栈这种后进先出数据结构的应用非常普遍。因此栈也成为了广大程序猿必须要掌握并且能够熟练运用的一种数据结构。一、栈的相关定义允许插入和删除的一端称为栈顶,另一端为栈底。栈又称为后进先出的线性表。简称LIFO结构二、栈的顺序存储结构及实现栈的结构定义typedef int SElementType;typedef原创 2021-07-05 14:02:56 · 246 阅读 · 0 评论 -
链表常见解题套路
目录1、移除链表元素1、移除链表元素题目描述: 解题思路: 如果待删除的节点中存在头节点,需要做特殊处理,因此我们采用构建一个虚拟节点的方法进行处理,这样可以方便的处理这种情况。如下图所示: Code:class Solution { public ListNode removeElements(ListNode head, int val) { ListNode DummyNode = new ListNode(val - 1); Dumm原创 2021-07-01 09:30:31 · 146 阅读 · 0 评论 -
一文搞懂双指针
文章目录1、爬楼梯1、爬楼梯试题链接:https://leetcode-cn.com/problems/climbing-stairs/试题描述: 试题思路:递归、注意减枝。、解答:// 方法和:f(n) = f(n-1) + f(n - 2); // 减枝class Solution { public int climbStairs(int n) { int memo[] = new int[n + 1]; return My原创 2021-06-28 10:08:09 · 182 阅读 · 0 评论 -
力扣刷题-链表习题汇总
文章目录1、两两交换链表中的节点2、反转链表3、合并两个有序链表1、两两交换链表中的节点试题链接 https://leetcode-cn.com/problems/swap-nodes-in-pairs/试题描述:试题思路: 采用递归的思路。1、递归终止条件。2、当前层逻辑处理。3、向下递归。解答:class Solution { public ListNode swapPairs(ListNode head) { if (head == null || head.ne原创 2021-03-31 11:37:55 · 174 阅读 · 0 评论 -
力扣刷题-双指针习题汇总
文章目录第一题 盛更多水的容器第二题 移动零第三题 环形链表第四题 环形链表II第五题 删除数组中的重复项第六题 合并两个有序数组第一题 盛更多水的容器试题连接:https://leetcode-cn.com/problems/container-with-most-water/试题要求:解题思路:1、采用暴力法,嵌套循环,时间复杂度是O(n^2),时间复杂度较高2、采用双指针夹逼的方法。双指针一个在数组坐标,一个在数组右边,然后左右夹逼。面积最大取决于最小的高度。因此当比较高度后,将高度较小原创 2021-03-24 15:44:17 · 363 阅读 · 1 评论