剑指Offer-36 二叉搜索树与双向链表

二叉搜索树与双向链表(剑指Offer-36) 题面 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: ...

2021-04-05 · Lordash

剑指Offer-35 复杂链表的复制

复杂链表的复制(剑指Offer-35) 题面 请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 示例 示例 1: ...

2021-04-04 · Lordash

剑指Offer-25 合并两个排序的链表

合并两个排序的链表(剑指Offer-25) 题面 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例 1输入:1->2->4, 1->3->4 2输出:1->1->2->3->4->4 限制 10 <= 链表长度 <= 1000 思路 链表合并,设立一个伪头结点可以方便代码书写。 ...

2021-04-03 · Lordash

剑指Offer-24 反转链表

反转链表(剑指Offer-24) 题面 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例 1输入: 1->2->3->4->5->NULL 2输出: 5->4->3->2->1->NULL 限制 10 <= 节点个数 <= 5000 思路 链表原地转置。 ...

2021-04-03 · Lordash

剑指Offer-22 链表中倒数第k个节点

链表中倒数第k个节点(剑指Offer-22) 题面 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。 ...

2021-04-03 · Lordash

剑指Offer-18 删除链表的节点

删除链表的节点(剑指Offer-18) 题面 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回删除后的链表的头节点。 **注意:**此题对比原题有改动 示例 示例 1: ...

2021-03-28 · Lordash

剑指Offer-06 从尾到头打印链表

从尾到头打印链表(剑指Offer-06) 题面 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1输入:head = [1,3,2] 2输出:[2,3,1] 限制 10 <= 链表长度 <= 10000 思路 简单遍历链表,然后reverse一下就好。 ...

2021-03-23 · Lordash

PATB-1025 反转链表

反转链表 (PATB-1025) 题面 给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4;如果 K 为 4,则输出应该为 4→3→2→1→5→6,即最后不到 K 个元素不反转。 ...

2020-04-30 · Lordash