![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题
无人深空var
这个作者很懒,什么都没留下…
展开
-
删除有序链表中重复的元素
描述删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次例如:给出的链表为1\to1\to21→1→2,返回1 \to 21→2.给出的链表为1\to1\to 2 \to 3 \to 31→1→2→3→3,返回1\to 2 \to 31→2→3.数据范围:链表长度满足0 \le n \le 1000≤n≤100,链表中任意节点的值满足|val| \le 100∣val∣≤100进阶:空间复杂度O(1)O(1),时间复杂度O(n)O(n)p...原创 2022-03-15 22:28:16 · 677 阅读 · 0 评论 -
链表的奇偶重排
描述给定一个单链表,请设定一个函数,将链表的奇数位节点和偶数位节点分别放在一起,重排后输出。注意是节点的编号而非节点的数值。数据范围:节点数量满足0 \le n \le 10^50≤n≤105,节点中的值都满足0 \le val \le 10000≤val≤1000要求:空间复杂度O(n)O(n),时间复杂度O(n)O(n)public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可...原创 2022-03-15 22:10:42 · 216 阅读 · 0 评论 -
判断一个链表是否为回文结构
描述给定一个链表,请判断该链表是否为回文结构。回文是指该字符串正序逆序完全一致。数据范围:链表节点数0 \le n \le 10^50≤n≤105,链表中每个节点的值满足|val| \le 10^7∣val∣≤107public class Solution { /** * * @param head ListNode类 the head * @return bool布尔型 */ public boolean isPail (...原创 2022-03-13 13:30:04 · 755 阅读 · 0 评论 -
单链表的排序
给定一个节点数为n的无序单链表,对其按升序排序。数据范围:0 < n≤100000冒泡算法:public class Solution { /** * * @param head ListNode类 the head node * @return ListNode类 */ public ListNode sortInList (ListNode head) { ListNode cur = head;原创 2022-03-11 23:29:55 · 625 阅读 · 2 评论 -
链表相加(二)
描述假设链表中每一个节点的值都在 0 - 9之间,那么链表整体就可以代表一个整数。给定两个这种链表,请生成代表两个整数相加值的结果链表。数据范围:0 \le n,m \le 10000000≤n,m≤1000000,链表任意值0 \le val \le 90≤val≤9要求:空间复杂度O(n)O(n),时间复杂度O(n)O(n)例如:链表 1为 9->3->7,链表 2为 6->3,最后生成新的结果链表为 1->0->0->0。...原创 2022-03-08 22:58:14 · 190 阅读 · 0 评论 -
两个链表的第一个公共结点
描述输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)数据范围:n \le 1000n≤1000要求:空间复杂度O(1)O(1),时间复杂度O(n)O(n)例如,输入{1,2,3},{4,5},{6,7}时,两个无环的单向链表的结构如下图所示:可以看到它们的第一个公共结点的结点值为6,所以返回结点值为6的结点。输入描述:输入分为是3段,第一段是第一...原创 2022-03-08 21:44:20 · 76 阅读 · 0 评论 -
删除链表的倒数第n个节点
描述给定一个链表,删除链表的倒数第n个节点并返回链表的头指针例如,给出的链表为:1\to 2\to 3\to 4\to 51→2→3→4→5,n= 2n=2.删除了链表的倒数第nn个节点之后,链表变为1\to 2\to 3\to 51→2→3→5.数据范围:链表长度0\le n \le 10000≤n≤1000,链表中任意节点的值满足0 \le val \le 1000≤val≤100要求:空间复杂度O(1)O(1),时间复杂度O(n)O(n)备注:题目保...原创 2022-03-07 22:32:25 · 239 阅读 · 0 评论 -
链表中倒数最后k个结点
描述输入一个长度为 n 的链表,设链表中的元素的值为 ai,返回该链表中倒数第k个节点。如果该链表长度小于k,请返回一个长度为 0 的链表。数据范围:0 \leq n \leq 10^50≤n≤105,0 \leq a_i \leq 10^90≤ai≤109,0 \leq k \leq 10^90≤k≤109要求:空间复杂度O(n)O(n),时间复杂度O(n)O(n)进阶:空间复杂度O(1)O(1),时间复杂度O(n)O(n)例如输入{1,2,3,4,5},2...原创 2022-03-07 20:05:21 · 143 阅读 · 0 评论 -
链表中环的入口结点
描述给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。数据范围:n\le10000n≤10000,1<=结点值<=100001<=结点值<=10000要求:空间复杂度O(1)O(1),时间复杂度O(n)O(n)例如,输入{1,2},{3,4,5}时,对应的环形链表如下图所示:可以看到环的入口结点的结点值为3,所以返回结点值为3的结点。输入描述:输入分为2段,第一段是入环前的链表部分,第二段是链表环的部分,后...原创 2022-03-06 14:32:42 · 70 阅读 · 0 评论 -
判断链表中是否有环
描述判断给定的链表中是否有环。如果有环 则返回true,否则返回false。数据范围:链表长度100000≤n≤10000,链表中任意节点的值满足 ∣val∣<=100000要求:空间复杂度 O(1),时间复杂度 O(n)输入分为两部分,第一部分为链表,第二部分代表是否有环,然后将组成的head头结点传入到函数里面。-1代表无环,其它的数字代表有环,这些参数解释仅仅是为了方便读者自测调试。实际在编程时读入的是链表的头节点。例如输入{3,2,0,-4},1时,对应的链表结原创 2022-03-06 14:22:20 · 642 阅读 · 0 评论 -
合并k个已排序的链表
描述合并 k个升序的链表并将结果作为一个升序的链表返回其头节点。数据范围:节点总数0 \le n \le 50000≤n≤5000,每个节点的val满足|val| <= 1000∣val∣<=1000要求:时间复杂度O(nlogn)O(nlogimport java.util.*;public class Solution { public ListNode mergeKLists(ArrayList<ListNode> lists) { ...原创 2022-03-06 14:18:20 · 336 阅读 · 0 评论 -
合并两个排序的链表
描述输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。数据范围:0≤n≤1000,节点值 1000≤节点值≤1000要求:空间复杂度O(1),时间复杂度O(n)如输入{1,3,5},{2,4,6}时,合并后的链表为{1,2,3,4,5,6},所以对应的输出为{1,2,3,4,5,6} public ListNode Merge(ListNode list1,ListNode list2) { if(list1==nul..原创 2022-03-04 22:20:16 · 255 阅读 · 0 评论 -
链表中的节点每k个一组翻转
描述将给出的链表中的节点每 k个一组翻转,返回翻转后的链表如果链表中的节点数不是 k 的倍数,将最后剩下的节点保持原样你不能更改节点中的值,只能更改节点本身。数据范围:\ 0 \le n \le 20000≤n≤2000,1 \le k \le 20001≤k≤2000,链表中每个元素都满足0 \le val \le 10000≤val≤1000要求空间复杂度O(1)O(1),时间复杂度O(n)O(n)例如:给定的链表是1\to2\to3\to4\to51→2→...原创 2022-03-04 17:24:43 · 119 阅读 · 0 评论 -
链表内指定区间反转
描述将一个节点数为 size 链表 m位置到n 位置之间的区间反转,要求时间复杂度O(n)O(n),空间复杂度O(1)O(1)。例如:给出的链表为1\to 2 \to 3 \to 4 \to 5 \to NULL1→2→3→4→5→NULL,m=2,n=4m=2,n=4,返回1\to 4\to 3\to 2\to 5\to NULL1→4→3→2→5→NULL.数据范围:链表长度0 < size \le 10000<size≤1000,0 < m \le...原创 2022-03-04 15:59:47 · 307 阅读 · 0 评论 -
反转单链表
描述给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。数据范围: 0\leq n\leq10000≤n≤1000要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n) 。如当输入链表{1,2,3}时,经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。public class Solution { public ListNode ReverseList(ListNo原创 2022-03-03 21:17:49 · 250 阅读 · 0 评论