
剑指Offer ||
文章平均质量分 53
记录剑指Offer的算法题
_索伦
结束,还是开始?
展开
-
剑指Offer第二版:查找算法(简单)
题目: 找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3题解1用数组模拟哈希表,如果插入同一个数的次数大于等于2,就直接返回。 题解2 二分查找 剑指 Offer 53 - I. 在排序数组中查找数字 I 题目统计一个数字在排序数组中出现的次数。示例: 输入: nums = [原创 2022-08-03 22:49:21 · 102 阅读 · 0 评论 -
剑指Offer第二版:字符串(简单)
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。请实现一个函数,把字符串s中的每个空格替换成"%20"。输入s=“Wearehappy.”输出“We%20are%20happy.”时间复杂度O(N)空间复杂度O(N)...原创 2022-07-22 22:45:11 · 130 阅读 · 0 评论 -
剑指Offer||:链表(简单)
原题链接:从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。题解: 利用虚拟头节点接受逆置后的链表,然后遍历链表,尾插到返回数组中。 剑指 Offer 35. 复杂链表的复制 原题链接:复杂链表的复制请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。题解:我们首先将该链表中每一个节点拆分为两个相连的节点,例如对于链表 A→B→C,我们可原创 2022-06-27 23:46:27 · 211 阅读 · 0 评论 -
剑指Offer || :栈与队列(简单)
这个专栏记录leetcode刷题记录,以剑指Offer第2版为主原题链接:剑指 Offer 09. 用两个栈实现队列题目: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例: 代码 2. 包含min函数的栈 题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop原创 2022-06-26 21:51:16 · 405 阅读 · 0 评论