- 博客(16)
- 收藏
- 关注
原创 剑指 Offer 32 - III. 从上到下打印二叉树 III
剑指 Offer 32 - III. 从上到下打印二叉树 III题目请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [20,9], [15,7]] 提示:
2021-08-18 21:03:57
57
原创 剑指 Offer 32 - II. 从上到下打印二叉树 II
剑指 Offer 32 - II. 从上到下打印二叉树 II题目从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]] 提示:节点总数 <= 1000来源:力扣(LeetCode)链接:h
2021-08-18 21:03:22
72
原创 剑指 Offer 32 - I. 从上到下打印二叉树
剑指 Offer 32 - I. 从上到下打印二叉树题目从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7] 提示:节点总数 <= 1000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems
2021-08-18 21:02:54
75
原创 剑指 Offer 50. 第一个只出现一次的字符
剑指 Offer 50. 第一个只出现一次的字符题目在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。示例:s = "abaccdeff"返回 "b"s = "" 返回 " " 限制:0 <= s 的长度 <= 50000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/di-yi-ge-zhi-chu-xian-yi-ci-de-zi-fu-lcof著作
2021-08-18 21:02:20
43
原创 剑指 Offer 11. 旋转数组的最小数字
剑指 Offer 11. 旋转数组的最小数字题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。 示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro
2021-08-18 21:01:48
47
原创 剑指 Offer 04. 二维数组中的查找
剑指 Offer 04. 二维数组中的查找题目在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18,
2021-08-18 21:01:22
45
原创 剑指 Offer 53 - II. 0~n-1中缺失的数字
剑指 Offer 53 - II. 0~n-1中缺失的数字题目一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 示例 1:输入: [0,1,3]输出: 2示例 2:输入: [0,1,2,3,4,5,6,7,9]输出: 8 限制:1 <= 数组长度 <= 10000来源:力扣(LeetCode)链接:https
2021-08-18 21:00:06
42
原创 剑指 Offer 53 - I. 在排序数组中查找数字 I
剑指 Offer 53 - I. 在排序数组中查找数字 I题目统计一个数字在排序数组中出现的次数。 示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0 提示:0 <= nums.length <= 105-109 <= nums[i] <= 109nums&n
2021-08-18 20:59:37
49
原创 剑指 Offer 03. 数组中重复的数字
剑指 Offer 03. 数组中重复的数字题目找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000来源:力扣(LeetCode)链接:https://leetcode-cn.com
2021-08-18 20:59:03
42
原创 剑指 Offer 58 - II. 左旋转字符串
剑指 Offer 58 - II. 左旋转字符串题目字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例 1:输入: s = "abcdefg", k = 2输出: "cdefgab"示例 2:输入: s = "lrloseumgh", k = 6输出: "umghlrlose" 限
2021-08-18 20:56:57
44
原创 剑指 Offer 05. 替换空格
剑指 Offer 05. 替换空格题目请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1:输入:s = "We are happy."输出:"We%20are%20happy." 限制:0 <= s 的长度 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请
2021-08-17 20:28:34
34
原创 剑指 Offer 35. 复杂链表的复制
剑指 Offer 35. 复杂链表的复制题目请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 示例 1:输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]示例 2:输入:head = [[1,1],[2,
2021-08-17 20:28:04
79
原创 剑指 Offer 24. 反转链表
剑指 Offer 24. 反转链表题目定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 限制:0 <= 节点个数 <= 5000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/fan-zhuan-lian-b
2021-08-17 20:27:32
46
原创 剑指 Offer 06. 从尾到头打印链表
剑指 Offer 06. 从尾到头打印链表题目输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1:输入:head = [1,3,2]输出:[2,3,1] 限制:0 <= 链表长度 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof著作权归领扣网络所有。商业转载请联系官方授
2021-08-17 20:26:49
48
原创 剑指 Offer 30. 包含min函数的栈
剑指 Offer 30. 包含min函数的栈题目定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。 示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();m
2021-08-17 20:23:43
76
原创 剑指 Offer 09. 用两个栈实现队列
剑指 Offer 09. 用两个栈实现队列题目用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入
2021-08-17 20:20:59
80
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人