上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 29 下一页
摘要: 题目: 请设计一个栈,除了常规栈支持的pop与push函数以外,还支持min函数,该函数返回栈元素中的最小值。执行push、pop和min操作的时间复杂度必须为O(1)。 示例: MinStack minStack = new MinStack();minStack.push(-2);minStac 阅读全文
posted @ 2020-03-05 15:15 silentteller 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 题目: 三合一。描述如何只用一个数组来实现三个栈。 你应该实现push(stackNum, value)、pop(stackNum)、isEmpty(stackNum)、peek(stackNum)方法。stackNum表示栈下标,value表示压入的值。 构造函数会传入一个stackSize参数, 阅读全文
posted @ 2020-03-04 16:26 silentteller 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定一个有环链表,实现一个算法返回环路的开头节点。有环链表的定义:在链表中某个节点的next元素指向在它前面出现过的节点,则表明该链表存在环路。 示例 1: 输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index 1解释:链表中 阅读全文
posted @ 2020-03-04 15:42 silentteller 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8, 阅读全文
posted @ 2020-03-04 15:30 silentteller 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 题目: 编写一个函数,检查输入的链表是否是回文的。 示例 1: 输入: 1->2输出: false 示例 2: 输入: 1->2->2->1输出: true 进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 分析: 利用快慢指针在找到链表中点的同时,将slow指针指的元素倒置, 阅读全文
posted @ 2020-03-04 15:21 silentteller 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定两个用链表表示的整数,每个节点包含一个数位。 这些数位是反向存放的,也就是个位排在链表首部。 编写函数对这两个整数求和,并用链表形式返回结果。 示例: 输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295输出:2 -> 1 -> 9,即912进阶:假设这 阅读全文
posted @ 2020-03-03 14:52 silentteller 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 题目: 编写程序以 x 为基准分割链表,使得所有小于 x 的节点排在大于或等于 x 的节点之前。如果链表中包含 x,x 只需出现在小于 x 的元素之后(如下所示)。分割元素 x 只需处于“右半部分”即可,其不需要被置于左右两部分之间。 示例: 输入: head = 3->5->8->5->10->2 阅读全文
posted @ 2020-03-03 14:04 silentteller 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 题目: 实现一种算法,删除单向链表中间的某个节点(除了第一个和最后一个节点,不一定是中间节点),假定你只能访问该节点。 示例: 输入:单向链表a->b->c->d->e->f中的节点c结果:不返回任何数据,但该链表变为a->b->d->e->f 分析: 只给了我们所需要删除的节点。让当前结点的val 阅读全文
posted @ 2020-03-03 13:38 silentteller 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 题目: 实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。 注意:本题相对原题稍作改动 示例: 输入: 1->2->3->4->5 和 k = 2输出: 4说明: 给定的 k 保证是有效的。 分析: 双指针做法,快慢指针初始化为头指针,先让快指针向后移动k个节点,然后快慢指针同时向后移 阅读全文
posted @ 2020-03-03 13:25 silentteller 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 题目: 编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。 示例1: 输入:[1, 2, 3, 3, 2, 1] 输出:[1, 2, 3]示例2: 输入:[1, 1, 1, 1, 2] 输出:[1, 2]提示: 链表长度在[0, 20000]范围内。链表元素在[0, 20000]范围内。进 阅读全文
posted @ 2020-03-02 16:22 silentteller 阅读(311) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 29 下一页