摘要:
思路一:哈希 借助哈希保存节点信息。 代码 时间复杂度:O(n)空间复杂度:O(n) class Solution{ public: Node* copyRandomList(Node* head) { if(!head) return NULL; map<Node*,Node*>Map; //遍历 阅读全文
posted @ 2019-11-18 21:08
任仁人
阅读(129)
评论(0)
推荐(0)
摘要:
链表中的点已经相连,一次旋转操作意味着: 先将链表闭合成环 找到相应的位置断开这个环,确定新的链表头和链表尾 class Solution{ public: ListNode* rotateRight(ListNode* head,int k) { //判断是否为空或者是不是只有一个结点 if(he 阅读全文
posted @ 2019-11-18 19:35
任仁人
阅读(130)
评论(0)
推荐(0)
摘要:
1。利用了栈stack后进先出的性质,存储带 孩子结点 的 结点 的下一个结点.class Solution{ public: Node* flatten(Node* head) { if(!head) return NULL; Node* p=new Node(); p=head; Node* p 阅读全文
posted @ 2019-11-18 18:22
任仁人
阅读(186)
评论(0)
推荐(0)
摘要:
使用迭代的方式 class Solution{ public: ListNode *addTwoNumbers(ListNode* l1,ListNode *l2) { ListNode *res=new ListNode(-1); ListNode *p=res; int temp=0,incre 阅读全文
posted @ 2019-11-18 15:03
任仁人
阅读(132)
评论(0)
推荐(0)
摘要:
1.使用multimap对键从大到小排列的性质 class Solution { public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { multimap<int,ListNode*>Map; ListNode *res,*head 阅读全文
posted @ 2019-11-18 13:38
任仁人
阅读(154)
评论(0)
推荐(0)
摘要:
小结 - 链表 复习 让我们简要回顾一下单链表和双链表的表现。 它们在许多操作中是相似的。 它们都无法在常量时间内随机访问数据。 它们都能够在 O(1) 时间内在给定结点之后或列表开头添加一个新结点。 它们都能够在 O(1) 时间内删除第一个结点。 但是删除给定结点(包括最后一个结点)时略有不同。 阅读全文
posted @ 2019-11-18 12:37
任仁人
阅读(19)
评论(0)
推荐(0)
摘要:
简介 - 双链表 我们在前面的章节中介绍了单链表。 单链接列表中的结点具有 Value 字段,以及用于顺序链接结点的“Next”引用字段。 在本文中,我们将介绍另一种类型的链表:双链表。 定义 双链表以类似的方式工作,但还有一个引用字段,称为“prev”字段。有了这个额外的字段,您就能够知道当前结点 阅读全文
posted @ 2019-11-18 09:58
任仁人
阅读(51)
评论(0)
推荐(0)

浙公网安备 33010602011771号