
leetcode
文章平均质量分 93
言之命至9012
靡不有初,鲜克有终
展开
-
二叉树递归进阶【下】
之前的前中后序遍历是递归实现的,都很简单,下面以题代练一下非递归实现前、中、后序遍历。原创 2022-07-18 15:38:26 · 148 阅读 · 2 评论 -
二叉树递归进阶【上】
题目链接:606. 根据二叉树创建字符串题目要求通过括号来表示这个二叉树的结构,而且不能破坏输入与输出的映射关系那么首先应该是想到用递归解决,然后分别判断条件,我们可以再递归调用左子树和右子树的时候再前后分别包上括号不过,包括号是有条件的,因为我们要保证一一映射的关系,所以说如果右子树为空的话就不用加括号,但是如果左子树为空而右子树不为空要加上空括号表示括号中的是空树,这题目中给出了,所以根据分析我们可以列出下面的表格string存在问题,传值返回调用的都是临时对象,也就是如果树结构比较大的话,会需要不断原创 2022-07-11 15:39:02 · 170 阅读 · 14 评论 -
二叉树递归修炼【下】
二叉树递归修炼【下】1. 二叉树的前序遍历1.1 题目描述1.2 顺藤摸瓜1.3 抽丝剥茧1.4 手到拈来2. 二叉树的中序遍历2.1 抽丝剥茧2.2 手到拈来3.1 抽丝剥茧3.2 手到拈来4. 从前序与中序遍历序列构造二叉树4.1 题目描述4.2 顺藤摸瓜4.3 抽丝剥茧4.3.1 递归参数4.3.2 代码思路4.4 手到拈来5. 从中序与后序遍历序列构造二叉树5.1 题目描述5.2 顺藤摸瓜5.3 抽丝剥茧5.4 手到拈来之前的前中后序遍历是递归实现的,都很简单,下面以题代练一下非递归实现前、中.原创 2022-04-30 09:29:50 · 496 阅读 · 0 评论 -
二叉树递归修炼【上】
二叉树递归修炼【上】1. 根据二叉树创建字符串1.1 题目描述1.2 **顺藤摸瓜**1.3 抽丝剥茧1.4 手到拈来1.5 刻意求工2. 二叉树的层序遍历2.1 题目描述2.2 顺藤摸瓜2.3 抽丝剥茧2.4 手到拈来3. 二叉树的层序遍历II3.1 题目描述3.2 手到拈来4. 二叉树的最近公共祖先4.1 题目描述4.2 顺藤摸瓜4.3 抽丝剥茧4.3.1 三叉链4.3.2 搜索二叉树结构4.3.3 普通二叉树4.4 手到拈来4.5 刻意求工4.5.1 FindPath4.5.2 最终答案5. **二.原创 2022-04-28 09:46:53 · 178 阅读 · 6 评论 -
入门二叉树-一起来递归【下】
入门二叉树-一起来递归【下】1. 对称二叉树2.另一棵树的子树3.平衡二叉树4.二叉树的构建与遍历5.中序遍历6.后序遍历原创 2021-12-01 19:05:59 · 1592 阅读 · 9 评论 -
入门二叉树-一起来递归【上】
入门二叉树-一起来递归【上】1. 单值二叉树1.1 题目描述1.1.1 接口函数1.2 大致框架1.2.1 思路与想法1.2.2 具体步骤1.3 整体实现2.二叉树的最大深度2.1 题目描述2.1.1 接口函数2.2 大致框架2.2.1 思路与想法2.2.2 具体步骤2.3 整体实现3.二叉树的前序遍历3.1 题目描述3.1.1 接口函数3.2 大致框架3.2.1 思路与想法3.2.2 具体步骤3.3 整体实现4.相同的树4.1 题目描述4.1.1 接口函数4.2 大致框架4.2.1 思路与想法4.2.2原创 2021-11-29 08:13:18 · 831 阅读 · 7 评论 -
leetcode 有效括号和循环队列
leetcode 有效括号和循环队列1. 有效的括号1.1 题目描述1.1.1 接口函数1.2 大致框架1.2.1 想法思路1.2.2 具体步骤声明函数然后构建`isValid(char * s)`1.3 整体实现2. 设计循环队列2.1 题目描述2.1.1 接口函数2.2 大致框架2.2.1 想法思路用数组或链表实现解决空和满2.2.2 具体步骤2.2.3 寻找报错问题2.3 整体实现1. 有效的括号本题目来源于leetcode有效的括号1.1 题目描述提示1.1.1 接口函数bool i原创 2021-11-21 19:00:00 · 502 阅读 · 3 评论 -
leetcode 栈和队列的互相实现
leetcode 栈和队列的互相实现1. 用队列实现栈1.1 题目描述1.1.1 接口函数1.2 大致框架1.2.1 想法和思路1.2.2 具体步骤先实现一个栈`MyStack``myStackCreate``myStackPush``myStackPop``myStackTop``myStackEmpty``myStackFree`1.2.3 测试时发生的错误解决第一个错误解决第二个错误解决第三个错误1.3 整体实现2. 用栈实现队列2.1 题目描述2.1.1 接口函数2.2 大致框架2.2.1 想法和思原创 2021-11-20 11:50:54 · 807 阅读 · 13 评论 -
leetcode 链表的随机指针复制和插入排序
leetcode 链表的复制随机和插入排序1. 复制带随机指针的链表1.1 题目描述1.1.1 接口函数1.2 大致框架1.2.1 想法思路1.2.2 具体步骤1.3 整体实现2. 链表的插入排序2.1 题目描述2.1.1 接口函数2.1.2 插入排序算法2.2 大致框架2.2.1 想法思路2.2.2 具体步骤2.3 整体实现1. 复制带随机指针的链表本题来源于leetcode138. 复制带随机指针的链表这道题有一定的难度,需要好好思考1.1 题目描述复杂链表的复制,即深拷贝1.1.原创 2021-11-13 18:05:19 · 564 阅读 · 3 评论 -
leetcode 环形链表Ⅰ&Ⅱ
leetcode 环形链表Ⅰ&Ⅱ1.环形链表Ⅰ1.1 题目描述1.1.1 接口函数1.2 大致框架1.2.1 想法思路1.2.2 具体步骤1.3 整体实现2. 环形链表Ⅱ2.1 题目描述2.1.1 接口函数2.2 方法一2.2.1 具体步骤2.2.2 整体实现2. 3方法二2.3.1 想法和思路1.环形链表Ⅰ1.1 题目描述本题链接来自 leetcode示例进阶和提示:1.1.1 接口函数/** * Definition for singly-linked list. *原创 2021-11-12 08:00:00 · 300 阅读 · 1 评论 -
leetcode 链表的回文和相交
leetcode 链表的回文和相交1. 链表的回文结构1.1 题目描述1.1.1 接口函数1.2 大致框架1.2.1 思路分析1.2.2 具体步骤1.3 具体实现2. 相交链表2.1 题目描述2.1.1 接口函数2.2 大致框架2.2.1 思路分析2.2.2 具体步骤2.3 具体实现1. 链表的回文结构1.1 题目描述牛客网把这道题标成了难题,然后leetcode标成了简单题目链接提示和进阶要求:1.1.1 接口函数/** * Definition for singly-linked l原创 2021-11-08 11:24:54 · 417 阅读 · 6 评论 -
leetcode 链表的合并和分割两道题
leetcode 链表的合并和分割两道题1.合并两个有序链表1.1 题目描述1.2 接口函数1.3 大致框架1.3.1 思路分析1.3.2 具体步骤1.4 具体实现1.合并两个有序链表1.1 题目描述本题目来源于leetcode 21.合并两个有序链表提示:1.2 接口函数/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; *原创 2021-11-06 11:52:40 · 539 阅读 · 3 评论 -
leetcode 双指针方法解两道题
leetcode 双指针的运用前言1.链表的中间节点1.1题目描述1.2思路:1.2.1大致框架1.2.2 具体步骤1.3 代码实现2.链表中倒数第k个节点2.1 题目描述2.2 思路2.2.1大致框架2.2.2 具体步骤2.3 代码实现前言利用双指针解决是常见的解决链表问题的方法,当遇到要找链表中的某一个节点的时候,一般我们会设置快慢指针来解决接下来给出两道题目,都是用到了双指针来解决问题。1.链表的中间节点本题目来源于leetcode876. 链表的中间结点****1.1题目描述这是原创 2021-11-02 08:45:00 · 220 阅读 · 1 评论 -
leetcode 206.反转链表
leetcode 206.反转链表1. 题目描述1.1 具体示例1.2 提示与进阶1.3 提示接口函数2. 思路一:三指针翻转2.1 思路分析2.2 具体步骤2.3 代码实现3. 思路二:头插(不创造新节点)3.1 思路分析3.2 具体步骤3.3 代码实现本题来源于leetcode,点我传送1. 题目描述1.1 具体示例1.2 提示与进阶1.3 提示接口函数/** * Definition for singly-linked list. * struct ListNode {原创 2021-11-01 08:30:00 · 277 阅读 · 4 评论 -
leetcode 203.移除链表元素
leetcode 203.移除链表元素1.题目描述:2.思路:2.1 大致框架2.2 初步实现如何遍历2.3 特殊情况需要分类讨论3.整体实现4.哨兵位头节点法1.题目描述:这里是原题给的提示:这里是原题给的接口函数与链表定义形式:/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct List原创 2021-10-30 12:30:08 · 216 阅读 · 4 评论 -
leetcode189.旋转数组 的三种方法
leetcode189.旋转数组 的三种方法前言:新开一个专栏要学好编程肯定得多敲代码,于是刷题提高是重要的过程该栏目内容专门记录刷leetcode题目以及刷题笔记,记录做题方法,巩固提高。在做题之前我们需要了解一个东西一般,常见的在线OJ的两种类型:接口型和IO型。接口型:测试用例和结果一般是通过参数接口函数的参数和返回值交互和判对错,一般不需要写函数,直接调用参数即可。IO型:测试用例通过IO输入输出,需要自己写头文件、main函数,自己写输入获取测试用例。这两种OJ类型本质类原创 2021-10-25 08:30:00 · 495 阅读 · 0 评论