剑指 Offer
文章平均质量分 90
剑指 Offer 算法
重启试试.
这个作者很懒,什么都没留下…
展开
-
八、剑指 Offer(35~39)
文章目录一、35 复杂链表的复制1.算法描述2.算法题解二、36 二叉搜索树与双向链表1.算法描述2.算法题解三、37 序列化二叉树1.算法描述2.算法题解四、38 字符串的排列1.算法描述2.算法题解一、35 复杂链表的复制1.算法描述请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。2.算法题解class Solution { public No原创 2021-01-13 18:47:46 · 85 阅读 · 0 评论 -
七、剑指 Offer(30~34)
文章目录一、30 包含min函数的栈1.算法描述2.算法题解二、31 栈的压入、弹出序列1.算法描述2.算法题解三、32 从上到下打印二叉树 I1.算法描述2.算法题解四、32 从上到下打印二叉树 II1.算法描述2.算法题解五、32 从上到下打印二叉树 III1.算法描述2.算法题解一、30 包含min函数的栈1.算法描述定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。2.算法题解普通栈的 p原创 2021-01-07 19:01:51 · 82 阅读 · 0 评论 -
六、剑指 Offer(25~29)
文章目录一、25 合并两个排序的链表1.算法描述2.算法题解一、26 树的子结构1.算法描述2.算法题解一、25 合并两个排序的链表1.算法描述2.算法题解一、25 合并两个排序的链表1.算法描述输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。2.算法题解根据链表 l1、l2 是递增的,因此可以使用双指针遍历链表,根据 val1、val2 的大小关系确定节点添加顺序,两指针交替前进,直至遍历完成。由于初始状态合并链表中无节点,因此需要初始化一个辅助节点 root 作为原创 2021-01-05 08:21:26 · 194 阅读 · 2 评论 -
五、剑指 Offer(20~24)
文章目录一、20 表示数值的字符串1.算法描述2.算法题解二、21 调整数组顺序使奇数位于偶数前面1.算法描述2.算法题解三、22 链表中倒数第k个节点1.算法描述2.算法题解四、24 反转链表1.算法描述2.算法题解一、20 表示数值的字符串1.算法描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、“5e2”、"-123"、“3.1416”、"-1E-16"、“0123"都表示数值,但"12e”、“1a3.14”、“1.2.3”、"±5"及"12e+5.4"原创 2020-12-25 18:46:35 · 87 阅读 · 0 评论 -
四、剑指 Offer(15~19)
文章目录一、15 二进制中 1 的个数1.算法描述2.算法题解二、16 值的整数次方1.算法描述2.算法题解三、17 打印从1到最大的n位数1.算法描述2.算法题解四、18 删除链表的节点1.算法描述2.算法题解五、19 正则表达式匹配1.算法描述2.算法题解一、15 二进制中 1 的个数1.算法描述请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。2.算法题解方法一:原创 2020-12-25 17:09:53 · 87 阅读 · 0 评论 -
三、剑指 Offer(10~14)
文章目录一、14 剪绳子 I1.算法描述2.算法题解二、14 剪绳子 II1.算法描述2.算法题解三、15 二进制中 1 的个数1.算法描述2.算法题解四、16 值的整数次方1.算法描述2.算法题解五、17 打印从1到最大的n位数1.算法描述2.算法题解六、18 删除链表的节点1.算法描述2.算法题解七、19 正则表达式匹配1.算法描述2.算法题解八、20 表示数值的字符串1.算法描述2.算法题解一、14 剪绳子 I1.算法描述给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整原创 2020-12-25 16:36:26 · 96 阅读 · 0 评论 -
剑指 Offer(3~7)
文章目录前言一、03 数组中重复的数字1.算法描述2.算法题解二、使用步骤1.算法描述2.算法题解前言一、03 数组中重复的数字1.算法描述在一个长度为 n 的数组 nums 里的所有数字都在 0 ~ n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。2.算法题解看到题首先想到的是遍历数组,将数字添加到 set 中,如果添加失败则数字重复。另一种解法是数组重组:如果在没有重复数字的情况下,正常排序后,原创 2020-12-16 19:13:56 · 124 阅读 · 0 评论