摘要:
/** * * 问题: 复制含有随机指针节点的链表 * * 分析: * 给定一个由Node节点类型组成的无环单链表的头节点head, 请实现一个函数完成这 * 个链表中所有结构的复制, 并返回复制的新链表的头节点。例如: 链表1->2->3->null, * 假设1的 rand指针指向3, 2的 r 阅读全文
摘要:
/** * 题目:将单向链表按某值划分成左边小、中间相等、右边大的形式(进阶) * * 要求: * 给定一个单向链表的头节点 head, 节点的值类型是整型, 再给定一个整数 pivot。实现 *一个调整链表的函数, 将链表调整为左部分都是值小于pivot的节点, 中间部分都是值等于pivot *的 阅读全文
摘要:
/** * 题目:将单向链表按某值划分成左边小、中间相等、右边大的形式 * * 要求: * 给定一个单向链表的头节点 head, 节点的值类型是整型, 再给定一个整数 privot。实现 *一个调整链表的函数, 将链表调整为左部分都是值小于privot的节点, 中间部分都是值等于privot *的节 阅读全文
摘要:
/** * 问题: 判断一个链表是否为回文结构 * 给定一个链表的头节点head, 请判断该链表是否为回文结构。 * * 例如: * 1->2->1, 返回 true。 * 1->2->2-> 1, 返回 true 。 * 15->6-> 15, 返回 true。 * 1->2->3, 返回 fal 阅读全文
摘要:
/** * 题目: * 环形单链表约瑟夫问题 * 据说著名犹太历史学家Josephus有过以下故事:在罗马人占领乔塔帕特后,39个犹太 *入与 Josephus及他的朋友躲到一个洞中, 39个犹太人决定宁愿死也不要被敌人抓到,于是 *决定了一个自杀方式,41个人排成一个圆圈,由第 1个人开始报数,报 阅读全文
摘要:
/** * 问题:反转部分单向链表 * 给定一个单向链表的头节点head,以及两个整数from和to,在单向链表上把第form个节点到第to个节点这一部分进行反转。 * 例如: * 1->2->3->4->5->null, from=2, to=4 * 调整结果为: 1->4->3->2->5->n 阅读全文
摘要:
/** * 问题:反转双向链表 * * 要求: * 如果链表长度为 N,时间复杂度为O(N),额外的空间复杂度为O(1)。 * * @author 雪瞳 * */ public class Node<T>{ public T value; public Node next; public Node 阅读全文
摘要:
/** * 问题:反转单向链表 * * 要求: * 如果链表长度为 N,时间复杂度为O(N),额外的空间复杂度为O(1)。 * * @author 雪瞳 * */ * 代码 public class Node<T>{ public T value; public Node next; public 阅读全文
摘要:
/** * 题目:删除链表的a/b处节点 * 给定链表的头节点 head、整数 a和 b, 实现删除位于 a/b处节点的函数。 * * 例如: * 链表: 1->2->3->4->5, 假设a/b的值为r。 * 如果r等于0, 不删除任何节点; * 如果r在区间(0, 1/5]上, 删除节点1; * 阅读全文
摘要:
/** * *问题:删除链表的中间节点 * 给定链表的头节点head, 实现删除链表的中间节点的函数。 * *分析: * 不删除任何节点; * 1->2, 删除节点1; * 1->2->3, 删除节点2; * 1->2->3->4, 删除节点2: * 1->2->3->4->5, 删除节点3; * 阅读全文