leetcode
文章平均质量分 52
Arden Zhao
这个作者很懒,什么都没留下…
展开
-
Day 243/300 前端如何解析Token为可读的内容?
jwt-decode是一个小的浏览器库,用于帮助解码Base64Url编码的JWTs令牌。IMPORTANT: This library doesn’t validate the token, any well formed JWT can be decoded. You should validate the token in your server-side logic by using something like express-jwt, koa-jwt, Owin Bearer JWT, etc.原创 2022-05-31 22:22:28 · 744 阅读 · 0 评论 -
Day 242/300 数据结构二叉树(13)——树的遍历
树的概述树 是一种经常用到的数据结构,用来模拟具有树状结构性质的数据集合。树里的每一个节点有一个值和一个包含所有子节点的列表。从图的观点来看,树也可视为一个拥有N 个节点和N-1 条边的一个有向无环图。二叉树是一种更为典型的树状结构。如它名字所描述的那样,二叉树是每个节点最多有两个子树的树结构,通常子树被称作“左子树”和“右子树”。(一)定义1、前序遍历前序遍历首先访问根节点,然后遍历左子树,最后遍历右子树。2、中序遍历中序遍历是先遍历左子树,然后访问根节点,然后遍历右子树。通常来说,原创 2022-05-30 22:00:23 · 127 阅读 · 0 评论 -
Day 240/300 数据结构链表(13)——合并两个有序链表
(一)题目将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0](二)思路及代码/** * Definition for singly-linked list. * class ListNode { *原创 2022-05-27 10:16:36 · 96 阅读 · 0 评论 -
Day 237/300 数据结构链表(11)——实现双链表
(一)题目设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。(二)思路实现单链表在单链表的操作中,添加prev字段处理头结点,尾节点等特殊判断(三)代码实现var MyLinkedList = function() { this.head=null t原创 2022-05-24 20:46:23 · 99 阅读 · 0 评论 -
Day 235/300 数据结构链表(10)——双链表简介
(一)需求双链表,是指每个节点多了向前指向上一个节点的字段。(二)双链表1、定义双链表以类似的方式工作,但还有一个引用字段,称为“prev”字段。有了这个额外的字段,您就能够知道当前结点的前一个结点。Java代码定义如下:// Definition for doubly-linked list.class DoublyListNode { int val; DoublyListNode next, prev; DoublyListNode(int x) {val原创 2022-05-20 07:31:38 · 96 阅读 · 0 评论 -
Day 234/300 数据结构链表(9)——回文链表
(一)需求回文链表,想了很久,怎么移动都都会很多奇怪的情况出现。比如[1]也是回文。(二)回文链表1、问题描述给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。输入:head = [1,2,2,1]输出:true2、思路:将每个节点的值push到数组中数组反转判断数组反转前后是否相等就能判断出是否是回文3、代码/** * Definition for singly-linked list. * class原创 2022-05-19 09:17:54 · 162 阅读 · 0 评论 -
Day 233/300 数据结构链表(8)——奇偶链表
(一)需求今儿还是链表中的一个算法——奇偶链表。(二)奇偶链表1、问题描述给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。Demo1:输入: head = [1,2,3,4,5]输出: [1,3,5,2,4]De原创 2022-05-18 10:35:55 · 146 阅读 · 0 评论 -
Day 231/300 数据结构链表(6)——移除链表中的某个节点
(一)需求今儿继续是链表结构的算法——移除链表中的某个节点(二)移除链表中的某个节点1、问题描述给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。Demo1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]Demo2:输入:head = [], val = 1输出:[]Demo3:输入:head = [7,7,7,7], val = 7输出原创 2022-05-16 22:18:26 · 100 阅读 · 0 评论 -
Day 230/300 数据结构链表(6)——反转链表
(一)需求链表除了增删改查,今儿的是反转链表(二)反转链表1、问题描述给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]2、思路:循环遍历改变每一个节点的指向;请记住,黑色结点 23 是原始的头结点。首先,我们将黑色结点的下一个结点(即结点 6)移动到列表的头部:然后,我们将黑色结点的下一个结点(即结点 15)移动到列表的头部:黑色结点的下一个结点现在是空。因此,我们停止原创 2022-05-13 17:22:35 · 159 阅读 · 0 评论 -
Day 229/300 数据结构链表(5)——用双指针法删除链表倒数节点
(一)需求双指针解决链表的问题,还是蛮有意思~ 继续做~(二)用双指针法删除链表倒数节点1、问题描述给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]2、思路:定义快慢指针,快指针移动n个位置;fast 和 slow 同时移动,fast移动到最后一个节点时,slow的下一个节点就是要删除的节点3、题目/** * Definition for singly-linked list原创 2022-05-12 17:42:56 · 150 阅读 · 2 评论 -
Day 171/200 算法 | 有序链表转换二叉搜索树
1、题目描述:给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a2GJJYNw-1637921935585)(/img/bVcWiwn)]2、思路1)链表转成数组;2)找到数组的中间节点;3)遍历左右逐步遍历;3、基础知识1)位移找中间值N>>>1就代表N的二进制右原创 2021-11-26 18:19:03 · 320 阅读 · 0 评论 -
Day 168/200 算法 | Javascript 模拟 旋转链表
今天是LeetCode算法题https://leetcode-cn.com/problems/rotate-list/解题前需要了解算法结构:1、链表的结构/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next)原创 2021-11-24 23:03:58 · 727 阅读 · 0 评论 -
Day 29/100无重复字符的最长子串
写在前面:时间来不及,自己琢磨了,今儿的代码的是学习大神的文末附其他的解题思路(一)题目给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字...原创 2020-08-29 08:35:31 · 113 阅读 · 0 评论 -
Day 28/100 机器人能否返回原点问题
写在前面的话,20min,1次性通过,性能还行~开心~~~以下是题目在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在(0, 0) 处结束。移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有R(右),L(左),U(上)和 D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。注意:机器人“面朝”的方向无关紧要。 “R” 将始终使机器人向右移动一次,“...原创 2020-08-28 20:00:00 · 155 阅读 · 0 评论