自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 二叉树的层序遍历及前、中、后序遍历

文章目录前言一、二叉树的层序遍历二、二叉树的前序遍历1.迭代写法2.递归写法三、二叉树的中序遍历1.迭代写法2.递归写法四、二叉树的后续遍历1.递归写法2.迭代写法(后续补充) 前言 二叉树的层序遍历,前序遍历,中序遍历,后续遍历的迭代写法和递归写法的相应代码 一、二叉树的层序遍历 代码如下(示例): /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left;

2021-02-09 22:11:50 174

原创 Leetcode105.从前序和中序遍历序列构造二叉树

做题思路:前序遍历的第一个节点是根节点,并依此找到中序遍历中的根节点, 从而划分中序遍历和前序遍历的左右区间,即左右子树, 根据此法则递归建立左右子树。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(null

2021-04-23 16:58:41 90

原创 Leetcode 用栈实现队列

文章目录用栈实现队列题目描述具体代码 用栈实现队列 题目描述 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否则,返回 false 具体代码 代码如下(示例): class MyQueue { pu

2021-03-11 17:08:28 117

原创 Leetcode 反转链表 ||

文章目录反转链表 ||题目描述思路具体代码 反转链表 || 题目描述 反转从位置 m 到 n 的链表。(请使用一趟扫描完成反转)。 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4->3->2->5->NULL 思路 使用三个指针变量 pre、curr、next 来记录反转的过程中需要的变量,它们的意义如下: curr:指向待反转区域的第一个节点 left; next:永远指向 curr 的下一

2021-03-09 19:27:38 96

原创 Leetcode从尾到头打印链表

文章目录从尾到头打印链表题目描述示例具体代码1.利用栈2.利用reverse函数3.改变链表结构 从尾到头打印链表 题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 输入:head = [1,3,2] 输出:[2,3,1] 具体代码 1.利用栈 代码如下(示例): class Solution { public: vector<int> reversePrint(ListNode* head) { vector<int>.

2021-03-06 15:51:10 101

原创 Leetcode 二叉树的最大深度以及平衡二叉树

文章目录二叉树的最大深度题目描述具体代码1.递归写法2.精简版的递归写法3. 二叉树的最大深度 题目描述 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 示例 给定二叉树 [3,9,20,null,null,15,7] 返回它的最大深度 3 。 具体代码 1.递归写法 代码如下(示例): /** * Definition for a binary tree node. * struct TreeNode { * .

2021-03-01 21:03:47 605

原创 Leetcode 删除链表节点

文章目录删除链表节点题目描述具体代码 删除链表节点 题目描述 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 示例 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] 解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函.

2021-02-24 14:48:50 58

原创 Leetcode 反转链表

文章目录反转链表题目描述具体代码 反转链表 题目描述 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 具体代码 代码如下(示例): /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNod.

2021-02-23 21:10:11 96

原创 用两个栈模拟队列

文章目录前言一、两个栈模拟队列的入队操作二、两个栈模拟队列的出队操作三、完整代码 前言 用两个栈实现队列 一、两个栈模拟队列的入队操作 代码如下(示例): void push(int x) { stack1.push(x); } 二、两个栈模拟队列的出队操作 代码如下(示例): int pop() { if (stack2.empty() == true){ while (stack1.empty() == false){

2021-02-10 23:00:46 896

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除