摘要:
给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的 深拷贝。 我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示: val:一个表示 Node.val 的整数。 rand 阅读全文
posted @ 2020-03-12 23:35
jenningszheng
阅读(254)
评论(0)
推荐(0)
摘要:
您将获得一个双向链表,除了下一个和前一个指针之外,它还有一个子指针,可能指向单独的双向链表。这些子列表可能有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例所示。 扁平化列表,使所有结点出现在单级双链表中。您将获得列表第一级的头部。 输入: 1 2 3 4 5 6--NULL | 7 阅读全文
posted @ 2020-03-12 20:33
jenningszheng
阅读(252)
评论(0)
推荐(0)
摘要:
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头 示例: 输入:(2 -> 4 -> 3 阅读全文
posted @ 2020-03-12 05:48
jenningszheng
阅读(216)
评论(0)
推荐(0)
摘要:
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(in 阅读全文
posted @ 2020-03-12 04:53
jenningszheng
阅读(227)
评论(0)
推荐(0)
摘要:
设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。 在链表类中实现 阅读全文
posted @ 2020-03-12 03:46
jenningszheng
阅读(324)
评论(0)
推荐(0)
摘要:
请判断一个链表是否为回文链表。 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? (1)用数组存储,然后用数组比较。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode 阅读全文
posted @ 2020-03-12 00:35
jenningszheng
阅读(178)
评论(0)
推荐(0)