![](https://img-blog.csdnimg.cn/direct/07be91ac84e64adc90ecc1ff67ff51b1.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++刷题
文章平均质量分 70
刷题学习笔记
温酒煮青梅
初级打工人
展开
-
力扣Hot100-22 括号生成【递归三步法】
力扣Hot100-22 括号生成文章目录力扣Hot100-22 括号生成全部刷题与学习记录原题目考查知识点好的解法全部刷题与学习记录【C++刷题学习笔记目录】原题目题目地址:22. 括号生成数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]考查知识点递归应用好的原创 2021-04-15 22:00:08 · 152 阅读 · 0 评论 -
力扣Hot100-19删除链表倒数第N个节点【双指针】【递归】
力扣Hot100-19 删除链表倒数第N个节点文章目录力扣Hot100-19 删除链表倒数第N个节点全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法双指针递归全部刷题与学习记录【C++刷题学习笔记目录】原题目题目地址:19. 删除链表的倒数第 N 个结点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。**进阶:**你能尝试使用一趟扫描实现吗?输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]输入:head = [1],原创 2021-04-14 09:07:24 · 205 阅读 · 0 评论 -
力扣Hot100-11盛最多水的容器【双指针法】
力扣Hot100-11 盛最多水的容器文章目录力扣Hot100-11 盛最多水的容器全部刷题与学习记录原题目考查知识点好的解法解法1:双指针法解法2:优化双指针全部刷题与学习记录【C++刷题学习笔记目录】原题目题目地址:11. 盛最多水的容器给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。**原创 2021-04-12 21:41:06 · 137 阅读 · 0 评论 -
力扣Hot100-5最长回文子串【动规五步法】
力扣Hot100-5 最长回文子串文章目录力扣Hot100-5 最长回文子串全部刷题与学习记录原题目考查知识点好的解法全部刷题与学习记录【C++刷题学习笔记目录】原题目题目地址:5. 最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"考查知识点动态递归好的解法以往动态递归的题目中,题目给出一维环境(如斐波那契数),原创 2021-04-10 19:52:36 · 163 阅读 · 0 评论 -
力扣Hot100-4 寻找两个正序数组的中位数
力扣Hot100-4 寻找两个正序数组的中位数文章目录力扣Hot100-4 寻找两个正序数组的中位数全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:4. 寻找两个正序数组的中位数给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.原创 2021-04-08 20:58:28 · 126 阅读 · 0 评论 -
力扣【Hot100-3】 无重复字符的最长子串 【双指针法】
文章目录全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:3. 无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长原创 2021-04-07 21:24:42 · 158 阅读 · 0 评论 -
力扣 2 两数相加【局部对象】【数值计算区间】【函数返回值是复合体(链表节点、树节点)】
力扣 2 两数相加【局部对象】【数值计算区间】【函数返回值是复合体(链表节点、树节点)】文章目录力扣 2 两数相加【局部对象】【数值计算区间】【函数返回值是复合体(链表节点、树节点)】全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:2. 两数相加给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并原创 2021-04-06 19:26:22 · 111 阅读 · 0 评论 -
力扣 112 路径总和【回溯】【递归函数要不要返回值】
力扣 112 路径总和【回溯】【递归函数要不要返回值】文章目录力扣 112 路径总和【回溯】【递归函数要不要返回值】全部刷题与学习记录原题目考查知识点好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:112. 路径总和给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。叶子节点 是指没有子节点的节点。考查知原创 2021-04-04 16:46:59 · 199 阅读 · 0 评论 -
力扣 513 找树左下角的值【层序遍历】
力扣 513 找树左下角的值文章目录力扣 513 找树左下角的值全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:513. 找树左下角的值给定一个二叉树,在树的最后一行找到最左边的值。示例 1:输入: 2 / \ 1 3输出:1示例 2:输入: 1 / \ 2 3 / / \ 4原创 2021-04-01 21:27:35 · 125 阅读 · 0 评论 -
力扣 74 搜索二维矩阵【二分法】【边界确定】
力扣 74 搜索二维矩阵【二分法】【边界确定】文章目录力扣 74 搜索二维矩阵【二分法】【边界确定】全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:74. 搜索二维矩阵编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [[1,3,5,原创 2021-03-31 08:44:48 · 247 阅读 · 0 评论 -
力扣 404 左叶子之和【递归三步法】【寻找叶节点】
力扣 404 左叶子之和【递归三步法】文章目录力扣 404 左叶子之和【递归三步法】全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:404. 左叶子之和计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24考查知识点递归三步法、叶节点的特殊性自原创 2021-03-30 19:45:19 · 105 阅读 · 0 评论 -
力扣 101 对称二叉树【递归三步法】
力扣 101 对称二叉树【递归三步法】文章目录力扣 101 对称二叉树【递归三步法】全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:101. 对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3原创 2021-03-20 20:27:27 · 182 阅读 · 0 评论 -
力扣 92 反转链表②【虚拟头结点】
力扣 82 反转链表② 【虚拟头结点】文章目录力扣 82 反转链表② 【虚拟头结点】全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:92. 反转链表 II给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。示例 1:输入:head = [1,2原创 2021-03-18 20:42:58 · 138 阅读 · 0 评论 -
力扣 102 二叉树的层序遍历【广度优先遍历】
力扣 102 二叉树的层序遍历【广度优先遍历】文章目录力扣 102 二叉树的层序遍历【广度优先遍历】全部刷题与学习记录原题目考查知识点自己的第一遍解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:102. 二叉树的层序遍历给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \原创 2021-03-17 21:06:08 · 244 阅读 · 0 评论 -
力扣 226 翻转二叉树 【递归三步法】
力扣 226 翻转二叉树文章目录力扣 226 翻转二叉树全部刷题与学习记录原题目考查知识点自己的第一遍解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:226. 翻转二叉树翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1注:这道题与 剑指 27 二叉原创 2021-03-17 20:49:35 · 164 阅读 · 0 评论 -
力扣 63 不同路径②【动规五步法】【dp数组初始化】
力扣 63 不同路径二② 【动规五步法】文章目录力扣 63 不同路径二② 【动规五步法】全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:63. 不同路径 II考查知识点dp数组究竟代表什么意思、dp数组的初始化自己的第一遍解法刚开始按照五步法来,结果体会到了弄清楚dp数组意义的重要性,题目要求:那么从左上角到右下角将会有多少条不同的路径?我在这里把dp[i] [j]定义成了从原创 2021-03-15 21:26:51 · 329 阅读 · 0 评论 -
力扣 62 不同路径【动态规划五步法】
力扣 62 不同路径【动态规划五步法】文章目录力扣 62 不同路径【动态规划五步法】全部刷题与学习记录原题目考查知识点好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:62. 不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3,原创 2021-02-25 21:01:54 · 276 阅读 · 0 评论 -
力扣 746 使用最小花费爬楼梯
力扣 746 使用最小花费爬楼梯文章目录力扣 746 使用最小花费爬楼梯全部刷题与学习记录原题目考查知识点自己的第一遍解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:746. 使用最小花费爬楼梯数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始)。每当你爬上一个阶梯你都要花费对应的体力值,一旦支付了相应的体力值,你就可以选择向上爬一个阶梯或者爬两个阶梯。请你找出达到楼层顶部的最低花原创 2021-02-23 18:50:27 · 128 阅读 · 0 评论 -
力扣 509 斐波那契数【动态规划】
力扣 509 斐波那契数文章目录力扣 509 斐波那契数全部刷题与学习记录原题目考查知识点自己的第一遍解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:509. 斐波那契数斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给你 n ,原创 2021-02-22 21:52:05 · 140 阅读 · 0 评论 -
力扣 53 最大子序和【贪心】【暴力】
力扣 53 最大子序和文章目录力扣 53 最大子序和全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:53. 最大子序和考查知识点贪心自己的第一遍解法最直观的就是暴力解法,两层嵌套for循环,类似滑动窗口一样,计算窗口内的序列之和第一层循环:改变窗口移动位置第二层循环:改变窗口尾端位置,不断扩大直至尾端对齐数组尾部class Solution_01 {public:原创 2021-02-15 14:15:17 · 120 阅读 · 0 评论 -
力扣 376 摆动序列【贪心】
力扣 376 摆动序列文章目录力扣 376 摆动序列全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:376. 摆动序列考查知识点贪心自己的第一遍解法这道题设计的点有两处:1、如何更新结果变量res。根据题目来看,有效的结果队列长度是由不断的高低起伏贡献的。2、如何更新索引。这里的索引类似于双指针法中的前后指针,每个指针指向数组中的一个数字。通国更新索引来拿取元素,避免直接原创 2021-02-14 20:45:09 · 131 阅读 · 0 评论 -
力扣 455 分发饼干【贪心】【局部最优】【全局最优】
力扣 455 分发饼干文章目录力扣 455 分发饼干全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:455. 分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干原创 2021-02-08 20:28:50 · 197 阅读 · 0 评论 -
力扣 39 组合总和
力扣 39 组合总和文章目录力扣 39 组合总和全部刷题与学习记录原题目考查知识点自己的第一遍解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:39. 组合总和给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。原创 2021-02-07 20:23:54 · 188 阅读 · 0 评论 -
力扣 17 电话号码的字母组合
力扣 17 电话号码的字母组合文章目录力扣 17 电话号码的字母组合全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:17. 电话号码的字母组合考查知识点回溯三步法、字符串到字母的映射自己的第一遍解法同样是使用【算法套路】-【回溯篇】【回溯三步法】中提到的回溯三步法但是刚开始使用了unordered_map来进行数字->字母的映射,所以略显麻烦,看到【代码随想录】大佬的原创 2021-02-06 16:03:00 · 199 阅读 · 0 评论 -
力扣 216 组合总和3 【回溯三步法】
力扣 216 组合总和3文章目录力扣 216 组合总和3全部刷题与学习记录原题目考查知识点自己的第一遍解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:216. 组合总和 III找出所有相加之和为 n的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。要求:1、所有数字都是正整数 2、解集不能包含重复组合示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入:原创 2021-02-02 20:40:53 · 151 阅读 · 0 评论 -
力扣 77 组合【回溯经典问题】【三步法】
力扣 77 组合文章目录力扣 77 组合全部刷题与学习记录原题目考查知识点好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:https://leetcode-cn.com/problems/combinations/给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4原创 2021-02-01 19:01:55 · 422 阅读 · 0 评论 -
剑指 36 二叉搜索树与双向链表【二叉搜索树】【中序遍历】【双向链表】
剑指 36 二叉搜索树与双向链表文章目录剑指 36 二叉搜索树与双向链表全部刷题与学习记录原题目考查知识点好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:剑指 Offer 36. 二叉搜索树与双向链表输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 4 / \ 2 5 / \1 3考查知识点分治法、中序遍历好的解法首先是剑指上的原创 2021-01-12 16:48:42 · 103 阅读 · 0 评论 -
剑指 35 复杂链表的复制【哈希法】
剑指 35 复杂链表的复制文章目录剑指 35 复杂链表的复制全部刷题与学习记录原题目考查知识点好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:https://leetcode-cn.com/problems/fu-za-lian-biao-de-fu-zhi-lcof/请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任原创 2021-01-11 20:46:57 · 129 阅读 · 0 评论 -
剑指 34 二叉树中和为某一值的路径【回溯】【递归】
剑指 34 二叉树中和为某一值的路径【回溯】【递归】文章目录剑指 34 二叉树中和为某一值的路径【回溯】【递归】全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:https://leetcode-cn.com/problems/er-cha-shu-zhong-he-wei-mou-yi-zhi-de-lu-jing-lcof/输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数原创 2021-01-07 20:59:49 · 104 阅读 · 0 评论 -
剑指 33 二叉搜索树的后序遍历序列【二叉搜索树 BST】【后序遍历】
剑指 33 二叉搜索树的后序遍历序列文章目录剑指 33 二叉搜索树的后序遍历序列全部刷题与学习记录原题目考查知识点好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-hou-xu-bian-li-xu-lie-lcof/输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设原创 2021-01-04 20:28:17 · 92 阅读 · 0 评论 -
剑指 32_3 之字形打印二叉树
剑指 32_3 之字形打印二叉树文章目录剑指 32_3 之字形打印二叉树全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:剑指 Offer 32 - III. 从上到下打印二叉树 III请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。例如:给定二叉树: [3,9,20,null,nu原创 2020-12-29 21:08:54 · 99 阅读 · 0 评论 -
剑指 32_2 分行从上到下打印二叉树【广度优先遍历】【层序遍历】
剑指 32_2 分行从上到下打印二叉树文章目录剑指 32_2 分行从上到下打印二叉树全部刷题与学习记录原题目考查知识点自己的第一遍解法好的解法全部刷题与学习记录【C++刷题学习笔记目录】【C++百万并发网络通信-笔记目录】原题目题目地址:剑指 Offer 32 - II. 从上到下打印二叉树 II从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20原创 2020-12-28 20:30:36 · 131 阅读 · 0 评论 -
剑指 32 从上到下打印二叉树【宽度/广度优先遍历】【BFS】
剑指 32 - I. 从上到下打印二叉树文章目录剑指 32 - I. 从上到下打印二叉树原题目考查知识点自己的第一遍解法好的解法原题目从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7考查知识点BFS,宽度优先搜索(或广度优先搜索)自己的第一遍解法首先自己的想法虽然思路畅通,但是不知道递归解决curNode的切换那里怎么原创 2020-12-27 20:33:40 · 77 阅读 · 0 评论 -
剑指 31 栈的压入、弹出序列【贪心算法】
剑指 31 栈的压入、弹出序列 【贪心算法】文章目录剑指 31 栈的压入、弹出序列 【贪心算法】原题目考查知识点自己的第一遍解法好的解法原题目输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。来源:力扣(LeetCode)链接:https://leetcode-原创 2020-12-21 21:55:39 · 87 阅读 · 0 评论 -
剑指 30 包含min函数的栈
剑指 30 包含min函数的栈文章目录剑指 30 包含min函数的栈原题目考查知识点自己的第一遍解法好的解法原题目定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); -->原创 2020-12-20 20:56:22 · 66 阅读 · 0 评论 -
剑指 29 顺时针打印矩阵
剑指 29 顺时针打印矩阵文章目录剑指 29 顺时针打印矩阵原题目考查知识点自己的第一遍解法好的解法原题目输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:[[1,2,3], [4,5,6], [7,8,9]]输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:[[1,2, 3, 4], [5,6, 7, 8], [9,10,11,12]]输入:matrix = [[1,2,3原创 2020-12-18 08:40:42 · 105 阅读 · 0 评论 -
剑指 28 对称的二叉树
剑指 28 对称的二叉树文章目录剑指 28 对称的二叉树原题目考查知识点自己的第一遍解法好的解法原题目请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3示例 1原创 2020-12-15 20:58:38 · 67 阅读 · 0 评论 -
剑指 27 二叉树的镜像
剑指 27 二叉树的镜像文章目录剑指 27 二叉树的镜像原题目考查知识点好的解法原题目请完成一个函数,输入一个二叉树,该函数输出它的镜像。 4 / \ 2 7 / \ / \1 3 6 9镜像输出: 4 / \ 7 2 / \ / \9 6 3 1示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]考查知识点遍历访问二叉树、中序遍历好的解法原创 2020-12-09 21:24:32 · 91 阅读 · 0 评论 -
剑指 26 树的子结构
剑指 26 树的子结构文章目录剑指 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], B = [3,1]输出:原创 2020-12-03 21:04:43 · 75 阅读 · 0 评论 -
剑指 25 合并两个排序的列表
剑指 25 合并两个排序的列表文章目录剑指 25 合并两个排序的列表原题目考查知识点自己的第一遍解法好的解法原题目输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4考查知识点递归自己的第一遍解法这个问题就像是串糖葫芦。给了两个排序的链表=两盆由小到大排序的山楂,那么首先要确定头结点=第一个穿到串上的,头结点确定好了之后就相原创 2020-12-01 20:41:05 · 92 阅读 · 0 评论