
链表
文章平均质量分 62
也非野人
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
链表的分化
对于一个链表,我们需要用一个特定阈值完成对它的分化,使得小于等于这个值的结点移到前面,大于该值的结点在后面,同时保证两类结点内部的位置关系不变。给定一个链表的头结点head,同时给定阈值val,请返回一个链表,使小于等于它的结点在前,大于等于它的在后,保证结点值不重复。测试样例:{1,4,2,5},3{1,2,4,5}代码如下:package lia原创 2016-06-24 15:48:41 · 297 阅读 · 0 评论 -
两个链表的公共值
现有两个升序链表,且链表中均无重复元素。请设计一个高效的算法,打印两个链表的公共值部分。给定两个链表的头指针headA和headB,请返回一个vector,元素为两个链表的公共部分。请保证返回数组的升序。两个链表的元素个数均小于等于500。保证一定有公共值测试样例:{1,2,3,4,5,6,7},{2,4,6,8,10}返回:[2.4.6]代码如下:原创 2016-06-24 15:49:34 · 371 阅读 · 0 评论 -
链表指定值清除
现在有一个单链表。链表中每个节点保存一个整数,再给定一个值val,把所有等于val的节点删掉。给定一个单链表的头结点head,同时给定一个值val,请返回清除后的链表的头结点,保证链表中有不等于该值的其它值。请保证其他元素的相对顺序。测试样例:{1,2,3,4,3,2,1},2{1,3,4,3,1}代码如下:package lianbiao;pu原创 2016-06-24 15:50:27 · 361 阅读 · 0 评论 -
链表的回文结构
请编写一个函数,检查链表是否为回文。给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文。测试样例:{1,2,3,2,1}返回:true{1,2,3,2,3}返回:false思路:用栈将链表中的值依次倒入,然后从栈顶到栈底依次放出,然后一个个匹配代码如下:原创 2016-06-24 15:53:03 · 411 阅读 · 0 评论 -
环形链表插值
有一个整数val,如何在节点值有序的环形链表中插入一个节点值为val的节点,并且保证这个环形单链表依然有序。给定链表的信息,及元素的值A及对应的nxt指向的元素编号同时给定val,请构造出这个环形链表,并插入该值。测试样例:[1,3,4,5,7],[1,2,3,4,0],2返回:{1,2,3,4,5,7}package lianbiao;public c原创 2016-05-22 22:50:01 · 814 阅读 · 0 评论 -
访问单个节点的删除
实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true代码实现: import java.util.*;/*public class ListNode { int val; ListNode next = null; ListNod原创 2016-05-23 10:52:30 · 362 阅读 · 0 评论 -
链表判环
如何判断一个单链表是否有环?有环的话返回进入环的第一个节点的值,无环的话返回-1。如果链表的长度为N,请做到时间复杂度O(N),额外空间复杂度O(1)。给定一个单链表的头结点head(注意另一个参数adjust为加密后的数据调整参数,方便数据设置,与本题求解无关),请返回所求值。思路:先用两个指针A和B,A跳一步,B跳两步,如果重逢了,就再将A重置到头结点,然后循环A和B同时跳一步原创 2016-06-29 15:49:51 · 332 阅读 · 0 评论 -
无环单链表判相交
现在有两个无环单链表,若两个链表的长度分别为m和n,请设计一个时间复杂度为O(n + m),额外空间复杂度为O(1)的算法,判断这两个链表是否相交。给定两个链表的头结点headA和headB,请返回一个bool值,代表这两个链表是否相交。保证两个链表长度小于等于500思路:先判断A和B的长度,A>B的话,就c =A - B,然后判断A 和B 的节点值是否想到直到最后一个,如果在比较原创 2016-06-29 15:53:52 · 434 阅读 · 0 评论