一、题目大意给你链表的头结点head,请将其按升序排列并返回排序后的链表。示例1:输入:head=[4,2,1,3]输出:[1,2,3,4]示例2:输入:head=[-1,5,3,4,0]输出:[-1,0,3,4,5]示例3:输入:head=[]输出:[]提示:链表中节点的数目在范围[0,5*104]内-105进阶:你可以在O(nlogn)时间复杂度和常数级空间复杂度下,对链表进行排序吗?来源:力扣(LeetCode)链接:https://leetcode.cn/problems/sort-list著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。二、解题思路用快慢指针将列表
一、题目大意https://leetcode.cn/problems/next-greater-element-ii给定一个循环数组nums(nums[nums.length-1]的下一个元素是nums[0]),返回nums中每个元素的下一个更大元素。数字x的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出-1。示例1:输入:nums=[1,2,1]输出:[2,-1,2]解释:第一个1的下一个更大的数是2;数字2找不到下一个更大的数;第二个1的下一个最大的数需要循环搜索,结果也是2。示例2:输入:nums=[1,
一、题目大意https://leetcode.cn/problems/next-greater-element-ii给定一个循环数组nums(nums[nums.length-1]的下一个元素是nums[0]),返回nums中每个元素的下一个更大元素。数字x的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出-1。示例1:输入:nums=[1,2,1]输出:[2,-1,2]解释:第一个1的下一个更大的数是2;数字2找不到下一个更大的数;第二个1的下一个最大的数需要循环搜索,结果也是2。示例2:输入:nums=[1,
数据结构基础—串一、串类型定义1.串的定义和相关概念字符串一般简称为串,其实就是由零个或多个字符组成的有限序列。逻辑结构和线性表极为相似,只是串的数据类型为字符型。零个字符放入串称为空串串中任意连续字符组成的子序列称为该串的子串包含子串的串为主串二、串的表示与实现1.串的表示串的表示分为三种分别是:定长顺序,堆分配,块链存储各个表示的注意事项:定长顺序:S[0]的值为串的长度堆分配:动态链式的存储,是从0开始的每个节点就是一个串2.串的基本操作(实现)对串的操作,通常是”串为整体“操作,最基本的有六个操作请见下方的代码://求串长intStrstrlen(chara[]){ inti=1; f
数据结构基础—串一、串类型定义1.串的定义和相关概念字符串一般简称为串,其实就是由零个或多个字符组成的有限序列。逻辑结构和线性表极为相似,只是串的数据类型为字符型。零个字符放入串称为空串串中任意连续字符组成的子序列称为该串的子串包含子串的串为主串二、串的表示与实现1.串的表示串的表示分为三种分别是:定长顺序,堆分配,块链存储各个表示的注意事项:定长顺序:S[0]的值为串的长度堆分配:动态链式的存储,是从0开始的每个节点就是一个串2.串的基本操作(实现)对串的操作,通常是”串为整体“操作,最基本的有六个操作请见下方的代码://求串长intStrstrlen(chara[]){ inti=1; f
vue路由守卫用于登录验证权限拦截vue路由守卫-全局(router.beforeEach((to,from,next)=>来判断登录和路由跳转状态)主要方法:to:进入到哪个路由去from:从哪个路由离开next:路由的控制参数,常用的有next(true)和next(false)home需要判断是否有token存在才能访问home,login和register页面不需要token,直接放行在routes内加上meta属性标记router路由设置index.js//引入路由importVuefrom'vue'importVueRouterfrom'vue-router'importHomeV
vue路由守卫用于登录验证权限拦截vue路由守卫-全局(router.beforeEach((to,from,next)=>来判断登录和路由跳转状态)主要方法:to:进入到哪个路由去from:从哪个路由离开next:路由的控制参数,常用的有next(true)和next(false)home需要判断是否有token存在才能访问home,login和register页面不需要token,直接放行在routes内加上meta属性标记router路由设置index.js//引入路由importVuefrom'vue'importVueRouterfrom'vue-router'importHomeV
24、两两交换链表中的节点·模拟节点交换题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/思路:循环中两两交换 手写模拟一下交换的过程就比较容易了 下图是我写的模拟过程: 代码实现:中规中矩地模拟就完事 时间复杂度O(n) 空间复杂度O(1)/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val(x),next(nu
HashSet类图HashSet简单说明HashSet实现了Set接口HashSet底层实际上是由HashMap实现的publicHashSet(){map=newHashMap();}可以存放null,但是只能有一个nullHashSet不保证元素是有序的(即不保证存放元素的顺序和取出元素的顺序一致),取决于hash后,再确定索引的结果不能有重复的元素HashSet底层机制说明HashSet底层是HashMap,HashMap底层是数组+链表+红黑树模拟数组+链表的结构/***模拟HashSet数组+链表的结构*/publicclassHashSetStructureMain{publics
24、两两交换链表中的节点·模拟节点交换题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/思路:循环中两两交换 手写模拟一下交换的过程就比较容易了 下图是我写的模拟过程: 代码实现:中规中矩地模拟就完事 时间复杂度O(n) 空间复杂度O(1)/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val(x),next(nu