![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题
小朱不猪
每日一学,进步不止
展开
-
LeetCode 94. 二叉树的中序遍历
LeetCode 94. 二叉树的中序遍历题目:给定一个二叉树的根节点 root ,返回它的 中序 遍历。示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]示例 4:输入:root = [1,2]输出:[2,1]示例 5:输入:root = [1,null,2]输出:[1,2]解题思路: &nb原创 2021-11-19 13:26:37 · 108 阅读 · 0 评论 -
剑指 Offer 57 - II. 和为s的连续正数序列
剑指 Offer 57 - II. 和为s的连续正数序列题目:输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例1:输入:target = 9输出:[[2,3,4],[4,5]]示例2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]解题思路: 设连续正整数原创 2021-11-07 17:31:12 · 75 阅读 · 0 评论 -
剑指 Offer 39. 数组中出现次数超过一半的数字
剑指 Offer 39. 数组中出现次数超过一半的数字题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2解题思路:本题常见的三种解法: 1.哈希表统计法: 遍历数组 nums ,用 HashMap 统计各数字的数量,即可找出 众数 。此方法时间和空间复杂度均为 O原创 2021-11-06 16:54:05 · 80 阅读 · 0 评论 -
剑指 Offer 65. 不用加减乘除做加法
剑指 Offer 65. 不用加减乘除做加法题目:写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。示例:输入: a = 1, b = 1输出: 2解题思路:本题考察对位运算的灵活使用,即使用位运算实现加法。代码如下:/** * 执行结果:通过 * 执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户 * 内存消耗:35.1 MB, 在所有 Java 提交中击败了69.12%的用户 * 通过测试用例:51原创 2021-11-05 19:32:14 · 81 阅读 · 0 评论 -
剑指 Offer 15. 二进制中1的个数
剑指 Offer 15. 二进制中1的个数题目:编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。2.在 Java 中,编译器使用 二进制补码 记法来表示有符号整数。因此,在上面的 示例 3 中,输入表示有符原创 2021-11-05 19:13:26 · 75 阅读 · 0 评论 -
剑指 Offer 16. 数值的整数次方
剑指 Offer 16. 数值的整数次方题目:实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。示例1:输入:x = 2.00000, n = 10输出:1024.00000示例2:输入:x = 2.10000, n = 3输出:9.26100示例3:输入:x = 2.00000, n = -2输出:0.25000解释:2-2 = 1/22 = 1/4 = 0.25解题思路:利用十进制数字 nn 的二进制原创 2021-11-03 12:26:22 · 81 阅读 · 0 评论 -
剑指 Offer 68 - II. 二叉树的最近公共祖先
剑指 Offer 68 - II. 二叉树的最近公共祖先题目:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例1:输入: root = [3,5,1,6,2,0,8,null,null,7,4],原创 2021-11-02 12:49:15 · 88 阅读 · 0 评论 -
剑指 Offer 68 - I. 二叉搜索树的最近公共祖先
剑指 Offer 68 - I. 二叉搜索树的最近公共祖先题目:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例1:输入: root = [6,2,8,0,4,7,9,null,null原创 2021-11-02 11:15:28 · 86 阅读 · 0 评论 -
剑指 Offer 64. 求1+2+…+n
剑指 Offer 64. 求1+2+…+n题目:求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 45解题思路:本题在简单问题上做了许多限制,我们之前所使用的一些常规的求阶乘的方法无法使用。原因:平均计算(有乘法运算)、迭代(含有while或者for循环)、递归(用到了if)。这个时候可以考虑逻辑运算符,本题需要原创 2021-11-02 10:21:10 · 89 阅读 · 0 评论 -
剑指 Offer 55 - II. 平衡二叉树
剑指 Offer 55 - II. 平衡二叉树题目:输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例1:给定二叉树 [3,9,20,null,null,15,7]返回 true 。示例2:示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4]返回 false 。解题思路: 一个树如果是平衡二叉树,那么原创 2021-11-01 16:59:38 · 82 阅读 · 0 评论 -
剑指 Offer 55 - I. 二叉树的深度
剑指 Offer 55 - I. 二叉树的深度题目:输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。解题思路:树的后序遍历往往利用递归或栈实现,这里使用递归。 1.先找到此树的深度和其左(右)子树的深度之间的关系。可以发现此树的深度等于左子树的深度与右子树的深度中的最大值 +1 。2.当 root 为空,说明已原创 2021-11-01 16:44:49 · 3215 阅读 · 2 评论 -
剑指 Offer 41. 数据流中的中位数
剑指 Offer 41. 数据流中的中位数题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:void addNum(int num) - 从数据流中添加一个整数到数据结构中。double findMedian() - 返回原创 2021-10-31 11:57:51 · 81 阅读 · 0 评论 -
剑指 Offer 40. 最小的k个数
剑指 Offer 40. 最小的k个数题目:输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例2:输入:arr = [0,1,2,1], k = 1输出:[0]解题思路:最简单的方法是用sort()函数排序然后for循环到k就行。还可以使用堆,我们用一个大根堆实时维护数组的前 k 小值。首先将前 k原创 2021-10-31 11:21:26 · 89 阅读 · 0 评论 -
剑指 Offer 61. 扑克牌中的顺子
剑指 Offer 61. 扑克牌中的顺子题目:从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。示例1:输入: [1,2,3,4,5]输出: True示例2:输入: [0,0,1,2,5]输出: True解题思路:5 张牌是顺子的充分条件为:除大小王外,所有牌 无重复 ;5 张牌中最大的牌为max,最小的牌为min(大小王除外),差不原创 2021-10-30 10:43:52 · 90 阅读 · 0 评论 -
剑指 Offer 45. 把数组排成最小的数
剑指 Offer 45. 把数组排成最小的数题目:输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例1:输入: [10,2]输出: “102”示例2:输入: [3,30,34,5,9]输出: “3033459”解题思路:此题求拼接起来的最小数字,本质上是一个排序问题。需要先将nums中的各个数字转化为字符串保存起来,然后进行排序。代码如下:/** * 执行结果:通过 * 执行用时:6 ms, 在所有 Java 提交中击败原创 2021-10-30 10:19:00 · 155 阅读 · 0 评论 -
剑指 Offer 54. 二叉搜索树的第k大节点
剑指 Offer 54. 二叉搜索树的第k大节点题目:给定一棵二叉搜索树,请找出其中第k大的节点。示例1:输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ &nb原创 2021-10-29 20:37:27 · 80 阅读 · 0 评论 -
剑指 Offer 36. 二叉搜索树与双向链表
剑指 Offer 36. 二叉搜索树与双向链表输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。为了让您更好地理解问题,以下面的二叉搜索树为例:我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。下图展示了上面的二叉搜索树转化成的链表。“head” 表示指向链表中有最小元素的节点。特别地,我们希望可以就地完成转换操作。原创 2021-10-29 20:21:44 · 68 阅读 · 0 评论 -
剑指 Offer 34. 二叉树中和为某一值的路径
剑指 Offer 34. 二叉树中和为某一值的路径题目:给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。叶子节点 是指没有子节点的节点。示例1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22输出:[[5,4,11,2],[5,8,4,5]]示例2:输入:root = [1,2,3], targetSum = 5输出原创 2021-10-29 19:41:31 · 73 阅读 · 0 评论 -
leetcode 7. 整数反转
leetcode 7. 整数反转题目:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例1:输入:x = 123输出:321示例2:输入:x = -123输出:-321示例3:输入:x = 120输出:21示例4:输入:x = 0输出:0解题思路:题目需要判断反转后的数字是否超过原创 2021-10-28 23:13:52 · 134 阅读 · 0 评论 -
剑指 Offer 13. 机器人的运动范围
剑指 Offer 13. 机器人的运动范围题目:地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?示例1:输入:m = 2, n = 3,原创 2021-10-27 16:55:54 · 86 阅读 · 0 评论 -
剑指 Offer 58 - I. 翻转单词顺序
剑指 Offer 58 - I. 翻转单词顺序题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。示例1:输入: “the sky is blue”输出: “blue is sky the”示例2:输入: " hello world! "输出: “world! hello”解释: 输入字符串可以在前面或者后面包含多余的空格,但原创 2021-10-27 11:05:34 · 92 阅读 · 0 评论 -
剑指 Offer 57. 和为s的两个数字
剑指 Offer 57. 和为s的两个数字题目:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例2:输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10]解题思路:方法一:利用 HashMap 可以通过遍历数组找到数字组原创 2021-10-27 10:37:44 · 72 阅读 · 0 评论 -
剑指 Offer 12. 矩阵中的路径
剑指 Offer 12. 矩阵中的路径给定一个 mxn 二维字符网格 board 和一个字符串单词 word。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如,在下面的 3×4 的矩阵中包含单词 “ABCCED”(单词中的字母已标出)。示例1:输入:board = [[“A”,“B”,“C”,“E”],[“S”,“F”,“C原创 2021-10-26 21:25:00 · 77 阅读 · 0 评论 -
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。示例1:输入:nums = [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。解题思路:考虑定义双指针 i , j 分列数组左右两端,循环执行。指针 i 从左向右寻找偶数,指针 j 从右向左寻找奇数,将 偶数 nums[i]和 奇数nums[j]交换。代码如下:/** *原创 2021-10-26 19:13:52 · 76 阅读 · 0 评论 -
剑指 Offer 52. 两个链表的第一个公共节点
剑指 Offer 52. 两个链表的第一个公共节点题目:输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 c1 开始相交。示例1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算起,原创 2021-10-26 13:34:19 · 68 阅读 · 0 评论 -
剑指 Offer 25. 合并两个排序的链表
剑指 Offer 25. 合并两个排序的链表题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路:根据题目描述, 链表 l1 , l2 是 递增 的,因此容易想到使用双指针 l1 和 l2遍历两链表,根据 l1.val和 l2.val的大小关系确定节点添加顺序,两节点指针交替前进,直至遍历完毕。代码如下:原创 2021-10-25 19:52:48 · 73 阅读 · 0 评论 -
剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点题目:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.解题思路:最简单直接的方法即为顺序查找,假设当前链表的长度为n,则我们原创 2021-10-25 14:37:52 · 97 阅读 · 0 评论 -
剑指 Offer 18. 删除链表的节点
剑指 Offer 18. 删除链表的节点题目:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例2:输入: head = [4,5,1,9], val = 1输出: [4,5,9]解释: 给定你链表中原创 2021-10-25 14:26:03 · 81 阅读 · 0 评论 -
剑指 Offer 48. 最长不含重复字符的子字符串
剑指 Offer 48. 最长不含重复字符的子字符串题目:请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你原创 2021-10-24 15:54:12 · 94 阅读 · 0 评论 -
剑指 Offer 46. 把数字翻译成字符串
剑指 Offer 46. 把数字翻译成字符串题目:给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", “bwfi”, “bczi”, “mcfi"和"mzi”解题思路:状态定义: 设动态规划列表 dp ,dp[i]原创 2021-10-24 11:43:09 · 65 阅读 · 0 评论 -
剑指 Offer 42. 连续子数组的最大和
剑指 Offer 42. 连续子数组的最大和题目:输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解题思路:设动态规划列表 dp ,dp[i] 代表以元素 nums[i] 为结尾的连续子数组最大和。当dp[i−1]>0 时:执行 dp[i] = dp[i-1] + n原创 2021-10-23 14:49:46 · 90 阅读 · 0 评论 -
剑指 Offer 47. 礼物的最大价值
剑指 Offer 47. 礼物的最大价值题目:在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?示例1:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 12解释: 路径 1→3→5原创 2021-10-23 14:34:42 · 69 阅读 · 0 评论 -
剑指 Offer 63. 股票的最大利润
剑指 Offer 63. 股票的最大利润题目:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例2:输入: [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成, 所以最大利原创 2021-10-22 18:15:31 · 97 阅读 · 0 评论 -
剑指 Offer 10- II. 青蛙跳台阶问题
剑指 Offer 10- II. 青蛙跳台阶问题题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例1:输入:n = 2输出:2示例2:输入:n = 7输出:21示例3:输入:n = 0输出:1解题思路:和 剑指 Offer 10- I. 斐波那契数列 题基本一样,只是初始值不同而已。代码如下:/**原创 2021-10-22 17:38:41 · 103 阅读 · 0 评论 -
剑指 Offer 10- I. 斐波那契数列
剑指 Offer 10- I. 斐波那契数列题目:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例1:输入:n = 2输原创 2021-10-22 16:57:12 · 89 阅读 · 0 评论 -
剑指 Offer 28. 对称的二叉树
剑指 Offer 28. 对称的二叉树题目:请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \原创 2021-10-22 16:27:11 · 73 阅读 · 0 评论 -
剑指 Offer 27. 二叉树的镜像
剑指 Offer 27. 二叉树的镜像题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入: 4 / \ 2 7 / \ / \1 3 6 &nbs原创 2021-10-22 16:05:01 · 80 阅读 · 0 评论 -
剑指 Offer 26. 树的子结构
剑指 Offer 26. 树的子结构题目:输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。例如:给定的树 A: 3 / \4 5/ \1 2给定的树 B:4/1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。示例1:输入:A = [1,2,3]原创 2021-10-21 23:18:53 · 70 阅读 · 0 评论 -
剑指 Offer 32 - III. 从上到下打印二叉树 III
剑指 Offer 32 - III. 从上到下打印二叉树 III题目:请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。例如:给定二叉树: [3,9,20,null,null,15,7],返回其层次遍历结果:解题思路:面试题32 - I. 从上到下打印二叉树 主要考察 树的按层打印 ;面试题32 - II. 从上到下打印二叉树 II 额外要求 每一层打印到一行 ;本题额外要求 打原创 2021-10-20 22:01:04 · 83 阅读 · 0 评论 -
剑指 Offer 32 - II. 从上到下打印二叉树 II
剑指 Offer 32 - II. 从上到下打印二叉树 II题目:从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树: [3,9,20,null,null,15,7],返回其层次遍历结果:解题思路:建议先看https://blog.csdn.net/qq_46038405/article/details/120868980再看此题,两题仅有微小区别,即本题需将 每一层打印到一行 。BFS 循环: 当队列 queue 为空时跳出;&nbs原创 2021-10-20 20:27:37 · 281 阅读 · 0 评论